9

如何通过单击“确定”按钮关闭警报框?我在 WebDriver Google group 上看到 Simon 正在添加此功能。我不确定这是否受支持。

4

4 回答 4

21
driver.findElement(By.id("updateButton")).click();

//pop up with id "updateButton" opens

Alert alert = driver.switchTo().alert();
//update is executed
alert.accept();
于 2011-12-23T12:39:53.967 回答
8

查看Google Code Issues List 中的 issue 27。使用 JavascriptExecutor 覆盖浏览器的警报:

((JavascriptExecutor)driver).executeScript("window.alert = function(msg){};");

这是处理确认对话框的类似解决方案。

((JavascriptExecutor)driver).executeScript("window.confirm = function(msg){return true;};");

这是一个非常受欢迎的请求,因此希望它会尽快实施。这些方法的缺点是验证消息中的文本并不容易。你可能想下台到 Selenium 来做到这一点。

于 2010-09-02T17:25:14.957 回答
3

C#代码:

IAlert alert = driver.SwitchTo().Alert();
alert.Accept(); 
System.Threading.Thread.Sleep(milliseconds);
于 2012-02-13T23:41:29.027 回答
1

Python代码:

driver.switch_to_alert().accept()

看:

站点包/selenium/webdriver/remote/webdriver.py

站点包/selenium/webdriver/common/alert.py

于 2012-02-20T01:44:49.043 回答