javascript - 为什么我在尝试使用 chromedriver 打开浏览器时收到 UnhandledPromiseRejectionWarning
问题描述
我正在尝试使用 selenium chromedriver 和 node.js 打开 chrome 浏览器并获取 google.com。chromedriver 和浏览器之间没有版本不匹配。但是,我收到以下错误并且浏览器无法打开:
(节点:18512)UnhandledPromiseRejectionWarning:未处理的承诺拒绝。此错误源于在没有 catch 块的情况下抛出异步函数内部,或拒绝未使用 .catch() 处理的承诺。(拒绝编号:1)
(节点:18512)[DEP0018] DeprecationWarning:不推荐使用未处理的承诺拒绝。将来,未处理的 Promise 拒绝将使用非零退出代码终止 Node.js 进程。
这是我使用的代码:
const {Builder, By, Key, util} = require("chromedriver");
async function openBrowser() {
let driver = await new Builder().forBrowser("chrome").build();
await driver.get("http://google.com");
}
openBrowser();
解决方案
处理异步函数承诺的方法是使用then
and catch
。
例如,您的功能openBrowser
:
openBrowser().then(driver => {
myDriver = driver;
}).catch(err => {
error = { error: { message: err.message } }
});
推荐阅读
- java - OPTIONS 请求处理程序应在 API 处理程序之前调用
- javascript - 如何防止我的 xt 在更改背景后褪色?CSS\HTML
- python - 如何确保脚本由特定版本的 python 执行?
- html - 将 Materialize.min.css 用于卡片,但无法将它们调整为固定大小,也无法在单行中显示它们
- c - 在处理 CTRL+C 时错过了错误“致命的 flex 扫描仪内部错误 - 缓冲区结束”
- sql - 如何下载帖子表中的所有标签?
- react-native - 如何在我的应用中插入 admob 横幅?
- javascript - 从字符串中去除换行符和空标签并使用正则表达式创建数组
- java - OjAlgo库中是否有任何API getCovariance的奇异值分解
- database - 无法将运行 PostgreSQL 数据库引擎的数据库实例连接到 pgadmin4