小编dyo*_*ung的帖子

我可以忽略“离开站点”吗?使用 Puppeteer 浏览无头时的对话框?

我正在使用 Puppeteer 在网站上测试一些表单。当我运行测试时,我注意到尝试在页面之间导航时执行会卡住。我自己手动进行了一次试运行,并意识到该页面正在发出一个对话框,因为某些表单输入已更改而未提交表单。

这条消息说:

Leave site?
Changes you made may not be saved.
Run Code Online (Sandbox Code Playgroud)

有一些明显的解决方法,例如我可以确保每次导航到下一页之前都提交表单。但是,理想情况下,我希望能够完全忽略此对话框,因为我只是在运行测试,并且我不在乎更改是否会被保存。

有没有办法禁用这些消息?如果没有,有没有办法检查是否有一个对话框打开然后将其关闭?

javascript dialog google-chrome node.js puppeteer

5
推荐指数
2
解决办法
2249
查看次数

为什么这个 puppeteer 的异步函数语法?

我正在研究如何使用Puppeteer进行测试,我遇到的所有代码示例都使用以下语法:

(async () => {
    //function body
})();
Run Code Online (Sandbox Code Playgroud)

现在我的问题不仅仅是它的作用,因为我理解异步函数是什么。我想知道的是这个语法是什么意思以及它是如何解析的?我是 Node.js 和 Puppeteer 的新手,我以前从未见过这个。我找到的教程都没有解释这里发生的事情。

我发现解释了=>操作员的目的。所以这似乎async () =>async function ()? 我仍然很困惑为什么整个事情都被括号包围,然后是另一对括号。

MDN表明您可以使用 .js 在 javascript 中声明异步函数async function fname() {...}。这看起来很简单。为什么不使用这种语法?有什么不同?

javascript asynchronous node.js puppeteer

4
推荐指数
1
解决办法
312
查看次数