我正在使用 Puppeteer 在网站上测试一些表单。当我运行测试时,我注意到尝试在页面之间导航时执行会卡住。我自己手动进行了一次试运行,并意识到该页面正在发出一个对话框,因为某些表单输入已更改而未提交表单。
这条消息说:
Leave site?
Changes you made may not be saved.
Run Code Online (Sandbox Code Playgroud)
有一些明显的解决方法,例如我可以确保每次导航到下一页之前都提交表单。但是,理想情况下,我希望能够完全忽略此对话框,因为我只是在运行测试,并且我不在乎更改是否会被保存。
有没有办法禁用这些消息?如果没有,有没有办法检查是否有一个对话框打开然后将其关闭?
我正在研究如何使用Puppeteer进行测试,我遇到的所有代码示例都使用以下语法:
(async () => {
//function body
})();
Run Code Online (Sandbox Code Playgroud)
现在我的问题不仅仅是它的作用,因为我理解异步函数是什么。我想知道的是这个语法是什么意思以及它是如何解析的?我是 Node.js 和 Puppeteer 的新手,我以前从未见过这个。我找到的教程都没有解释这里发生的事情。
我发现这解释了=>操作员的目的。所以这似乎async () =>是async function ()? 我仍然很困惑为什么整个事情都被括号包围,然后是另一对括号。
MDN表明您可以使用 .js 在 javascript 中声明异步函数async function fname() {...}。这看起来很简单。为什么不使用这种语法?有什么不同?