gpt4 book ai didi

javascript - puppeteer:在继续下一行之前等待 N 秒

转载 作者:IT老高 更新时间:2023-10-28 22:06:08 25 4
gpt4 key购买 nike

puppeteer中,我想等待一段定义的时间,然后再转到下一行代码。

我尝试将 setTimeout 放在评估函数中,但它似乎被简单地忽略了

console.log('before waiting');
await page.evaluate(async() => {
setTimeout(function(){
console.log('waiting');
}, 4000)
});
console.log('after waiting');

这段代码不用等待,只写before waitingafter waiting

你知道怎么做吗?

最佳答案

你可以使用一点promise函数,

function delay(time) {
return new Promise(function(resolve) {
setTimeout(resolve, time)
});
}

然后,在您需要延迟时调用它。

console.log('before waiting');
await delay(4000);
console.log('after waiting');

如果您必须使用 puppeteer,请使用内置的 waitForTimeout 函数。

await page.waitForTimeout(4000)

如果您仍想使用 page.evaluate,请在 4 秒后解决。你没有解决任何问题。

await page.evaluate(async() => {
await new Promise(function(resolve) {
setTimeout(resolve, 1000)
});
});

但我想你可以简单地使用前两个例子。

关于javascript - puppeteer:在继续下一行之前等待 N 秒,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46919013/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com