如何使用 Playwright 关闭弹出消息框?

Posted

技术标签:

【中文标题】如何使用 Playwright 关闭弹出消息框?【英文标题】:How to close the pop up message box using Playwright? 【发布时间】:2021-11-26 15:03:34 【问题描述】:

我刚刚学习了 Playwright API,我正在尝试编写一个自动化测试。该测试是关于登录银行帐户并对其进行操作。我所有的脚本都在工作,直到我进入银行网站,那里弹出一个消息框,我无法通过使用“page.click()”方法简单地点击关闭按钮来摆脱它。

这是我从登录状态到卡住的方法。

await page.goto("<bank_website_url>");
await page.fill("#username", <bank_username>);
await page.click('input:has-text("Login")');
await page.fill('#password', <bank_password>);
await page.click('input:has-text("Login")');

输入用户名和密码后,我现在被引导到银行网站,并出现一个消息框。我在这里要做的是再次使用“await page.click()”方法在弹出窗口中选择“关闭按钮”并关闭它,但它不起作用。

如果我的陈述不清楚,我很抱歉。希望有人可以告诉我潜在的问题/错误可能是什么。谢谢!

【问题讨论】:

What I want to do here is again using the "await page.click()" method ... it but it doesn't work 请在代码中显示如何您正在尝试这样做。 【参考方案1】:

默认情况下,Playwright 会自动关闭对话框,因此您无需处理它们。但是,您可以在触发对话框接受或拒绝它的操作之前注册一个对话框处理程序。

page.on('dialog', dialog => dialog.accept());
await page.click('button'); // trigger the dialog

参见https://playwright.dev/docs/dialogs的文档

【讨论】:

以上是关于如何使用 Playwright 关闭弹出消息框?的主要内容,如果未能解决你的问题,请参考以下文章

后台弹出js警告框 如何自动关闭

javaSwing 关闭窗口,弹出消息框,无论我点击是,否 都关闭窗口,见代码!

qt弹出消息框程序继续运行

怎么用js做一个弹出消息提示框

python selenium 处理JS弹出对话框

怎么取消远程桌面连接,关闭的时候弹出“断开连接终端服务会话”框