使用 puppeteer,我在输入值时打开一个页面 - 它输出结果。
await page.click('button[class="button form-button rs-gcbalance-btn"]')
await page.waitForSelector('div[class="small-4 large-4 rs-gcbalance-result-num-col').catch(err => console.log(err))
await page.evaluate((card) => {
console.log(card + " - " + document.querySelectorAll('div[class="small-4 large-4 rs-gcbalance-result-num-col"]')[1].querySelector('span').innerHTML)
}, card)
但只有当输入的值有效时,它才能正常工作。如果不是,它会抛出一个错误,但没有任何网络活动或加载事件。
这意味着,如果值不正确,我正在等待的元素将不会出现并将抛出错误,关闭程序。
Navigation Timeout Exceeded: 30000ms exceeded
问题是:如何处理错误,所以如果它抛出超时错误,我可以捕获它并调用另一个函数?
原文由 almarc 发布,翻译遵循 CC BY-SA 4.0 许可协议
只需将其包装在
try catch
块中:这是一个完整的示例: