node.js - Puppeteer - Handlin page.waitForSelector() 失败
问题描述
如果page.waitForSelector()
失败,则会引发错误。因为这是在异步函数中运行的,如果直接导致代码的捕获部分。
如果失败,是否有可能在page.waitForSelector()
下面的一行中执行代码?
像这样(伪代码):
if ( (await page.waitForSelector('.test') == null) { //do X}
从 API:
如果选择器在等待超时毫秒后没有出现,该函数将抛出。
我如何管理在同一个代码块中的抛出,就好像函数会成功一样?
解决方案
你为什么不抓住page.waitForSelector
抛出的错误并在之后采取类似这样的行动 -
(async() => {
try {
page.waitForSelector(selector);
} catch(error) {
// do as you wish with this error and then do your next actions
try {
page.goto('someUrl');
} catch(error) {
throw new Error(error);
}
}
})
推荐阅读
- python - 为什么我应该解决时仍然收到“NoneType”错误?
- spring-boot - 将以下划线“_”开头的请求参数(GET 查询)绑定到 bean 属性
- java - 如何写一个 Dockerfile 依赖于其他镜像
- python-3.x - 如何在 Alexa-host 自定义技能中将 feedparser 作为外部包导入
- mongodb - Mongorestore 问题 身份验证失败
- python - 如何更改或删除 GeoTIFF 标签?
- c# - C# VSTO Excel 自动筛选值和空白
- python - 无法使用 python adodbapi 库建立数据库连接
- sql-server - SQL Server - Recursive Query to Return Distinct Email/Phone Relative to a Given Email
- python - 当我尝试退出应用程序窗口时,Python 返回错误