我正在等待选择器加载到页面上,但是我还需要处理超时的情况。
当前,我的脚本停止执行并且不会继续。我该如何处理超时的错误情况并仍然继续执行。
下面是我的相关代码。
[Produces("application/json")]
public class CallBackController : ControllerBase
{
int channelId = 0;//this need to be initializes
public IActionResult Receive()
{
IActionResult result = null;
return result;
}
}
我该如何确保即使执行 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) {
}
}
时发生超时错误,我的循环仍会继续?
答案 0 :(得分:3)
您可以兑现承诺:
await Promise.all([
await exportPopup.click('#data-0'),
await exportPopup.waitForSelector('.cLink').catch(error => console.log('failed to wait
for the selector'),
]);
答案 1 :(得分:0)
也许您可以考虑增加一些时间来等待该元素,以便脚本继续运行?
await exportPopup.waitForSelector('.cLink', {timeout: 120000})