【问题标题】:wait for setTImeout in page.evaluate puppeteer在 page.evaluate puppeteer 中等待 setTImeout
【发布时间】:2022-01-29 15:36:28
【问题描述】:

我正在使用此代码

  await new Promise((resolve, reject) => {
    var list = [1, 2, 3, 4];
    for (var x = 0, ln = list.length; x < ln; x++) {
      setTimeout(async () => {
        console.log('scrolling');
        await page.evaluate(() => {
          window.scrollBy(0, window.innerHeight);
        });
      }, x * 2000);
    }
    resolve();
  });

当所有的 setTimeouts 都结束时,我该如何解决?

【问题讨论】:

    标签: javascript node.js web-scraping puppeteer


    【解决方案1】:

    可以使用puppeteer的内置函数代替setTimeout:

    await page.waitForTimeout(x * 2000);
    

    【讨论】:

      猜你喜欢
      • 2020-04-07
      • 2021-02-05
      • 1970-01-01
      • 2021-04-21
      • 2018-02-22
      • 2020-03-02
      • 2019-10-20
      • 2020-05-09
      • 1970-01-01
      相关资源
      最近更新 更多