木偶:TimeoutError:等待选择器

时间:2020-06-23 14:24:46

标签: javascript node.js puppeteer

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

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

下面是我的相关代码。

[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) { } } 时发生超时错误,我的循环仍会继续?

2 个答案:

答案 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})