木偶师:超时错误:等待选择器



我正在等待页面上加载选择器,但我还需要处理超时的情况。

目前,我的脚本停止执行并且不继续。我如何处理超时的错误情况并仍然继续执行。

下面是我的相关代码。

const newPagePromise = new Promise(res => browser.on('targetcreated', target => res(target.page())));
for(const dataWorkSheet of dataWorkSheetsArray) {
try{
await page.evaluate(async () => {
await $('.export--popup a').click();
});
const exportPopup = await newPagePromise;
await Promise.all([
await exportPopup.click('#data-0'),
await exportPopup.waitForSelector('.cLink'),
]);
} catch(e) {
}
}

如何确保即使在执行waitForSelector时出现超时错误,我的循环也会继续?

你可以玩弄承诺的陷阱:

await Promise.all([
await exportPopup.click('#data-0'),
await exportPopup.waitForSelector('.cLink').catch(error => console.log('failed to wait 
for the selector'),
]);

也许您可以考虑添加更多时间来等待元素,以便脚本继续运行?

await exportPopup.waitForSelector('.cLink', {timeout: 120000})

最新更新