javascript - Node.js:如果使用 Pupeteer 打开,则关闭浏览器
问题描述
我正在使用进行处理Puppeteer
,我正在关闭浏览器,例如使用browser.close()
类似这样的东西
const browser = await puppeteer.launch({
headless: true,
executablePath: '/Applications/Google Chrome.app/Contents/MacOS/Google Chrome'
});
try {
// more processing
browser.close();
// more processing
} catch(err) {
console.log(err);
browser.close();
}
我在 catch 块中使用,但有时发生异常时browser.close();
browser.close() 已经在块中执行。try
我想知道是否有办法检查 browser.open 是否存在?并仅在这种情况下发出 browser.close() 。
在这方面的任何帮助都会非常棒。谢谢。
解决方案
您应该添加 finally 块并在那里添加浏览器关闭:)
finally-block 包含要在 try-block 和 catch-block(s) 执行之后、但在 try...catch...finally-block 之后的语句之前执行的语句。请注意,无论是否抛出异常,finally 块都会执行。此外,如果抛出异常,即使没有 catch 块处理异常,finally 块中的语句也会执行。
编辑 1
在了解该问题是检测浏览器是否关闭后,我编辑并输入了该问题puppeteer 的解决方案:如何检查浏览器是否仍然打开并工作
推荐阅读
- mysql - 什么时候抛出这个错误 ER_TOO_MANY_CONCURRENT_TRXS
- python-3.x - 在 paho mqtt(客户端证书)中进行连接时,ee 密钥太小
- javascript - 将元素传递给稍后更新它的函数
- group-by - sequelize hasMany 关联聚合(包括+组)
- javascript - 在 Material-UI 表格中添加进度条
- ios - 从 Xcode 连接 GidSignInButton 时出错
- javascript - 解决承诺的两种方式之间的区别
- circleci - CircleCI - 加速共享 Docker 映像的作业
- salesforce - Mule4:使用 OffSet 和 LIMIT 实现 parallel-foreach 来查询 Saleforces
- monitor - 在 Windows 10 中阻止部分屏幕损坏显示器