我正在使用带有Java语言的selenium web驱动程序。当弹出窗口中有两个按钮,即确定和取消时,使用以下代码可以使用Web驱动程序轻松处理:
Alert alert = driver.switchTo().alert();
alert.accept(); // or alert.dismiss(); depending upon the action u want to perform.
但是当有两个以上的按钮时该怎么办,即弹出窗口中有3到4个按钮(例如ok,取消,再试一次,忽略/继续),在这种情况下我们该怎么办?我们如何点击我们想要的任何按钮?
非常感谢您的帮助
答案 0 :(得分:2)
我们所谈论的是JavaScript的对话框弹出窗口。有alert
(有一个OK按钮),confirm
(有确定/取消)和prompt
(有一个输入字段和OK)。而已。因此,您看到的对话框不是JavaScript对话框,Selenium的Alert
界面无法处理。
你可能正在处理这两个中的一个:
dialog()
(或类似的东西)。那是好消息!这不是真正的弹出窗口,这只是一个精心设计的叠加层,由普通的HTML组成,看起来像一个对话框。您应该能够通过WebDriver的常用方式与其进行交互:使用您选择的工具检查元素,然后找到并单击需要单击的按钮。答案 1 :(得分:0)
您只想在处理本机浏览器弹出对话框时使用alert()。如果Web应用程序您的测试弹出一个HTML对话框,那么您可以使用元素ID,xpath,CSS选择器等选择并单击任何按钮。