下面的代码在添加 75 秒延迟的情况下工作正常,但该延迟不是静态的,它会根据文件的大小而变化,因此我想删除该延迟并用更好的解决方案替换它。 单击“保存并继续”按钮后,页面将获取数据 2-4 分钟,然后单击“让我们开始”按钮。
我尝试了延迟功能,它工作得很好,但由于获取数据不是静态的,我想要一个更好的解决方案。
//function to add delays
const delay = (time) => new Promise((resolve) => setTimeout(resolve, time));
//another save and continue click
const saveContBtn2 = await page.waitForSelector(
'::-p-xpath(//button[text()="Save & Continue"])'
);
await saveContBtn2.click();
//let's start click
await delay(75000);
const letsStart = await page.waitForSelector(
'::-p-xpath(//button[text()="Let\'s start"])'
);
await letsStart.click();
不要使用手动延迟。 Puppeteer 中的所有等待功能都可以配置以实现更长的超时。你只需要更新
const letsStart = await page.waitForSelector(
'::-p-xpath(//button[text()="Let\'s start"])'
);
到
const letsStart = await page.waitForSelector(
'::-p-xpath(//button[text()="Let\'s start"]',
{timeout: TIMEOUT}
);