在 Puppeteer 代码中创建延迟
在 Puppeteer 中,可能有必要在执行后续代码行之前引入有意的延迟。为了解决这个问题,您可以选择以下解决方案之一:
使用 Promise 函数
为了灵活且独立的延迟,请考虑使用简单的 Promise 函数:
function delay(time) { return new Promise(function(resolve) { setTimeout(resolve, time) }); }
要实现延迟,请执行以下操作更改:
console.log('before waiting'); await delay(4000); console.log('after waiting');
使用 Puppeteer 的内置函数
如果您更喜欢留在 Puppeteer 环境中,请利用内置的 waitForTimeout 函数:
await page.waitForTimeout(4000)
此函数将有效地暂停指定数量的代码执行毫秒。
使用评估的 Promise
如果您仍然喜欢使用 page.evaluate,您可以修改当前代码以在所需的延迟后解决 Promise:
await page.evaluate(async() => { await new Promise(function(resolve) { setTimeout(resolve, 1000) }); });
但是,这种方法可能不如前两种方法实用,因为它具有潜在的过于复杂。
以上是如何在 Puppeteer 代码中引入延迟?的详细内容。更多信息请关注PHP中文网其他相关文章!