如何在firefox 10上处理警报

时间:2012-11-17 14:39:39

标签: selenium-webdriver

Page-1 Screenshot我使用的是firefox 10和selenium-server-standalone-2.25.0.jar。我只使用webdriver编写脚本。在我的应用程序中有一个带OK按钮的警告框。我尝试了很多代码解决方案,但不起作用。以下是我尝试过的解决方法

解决方案1:

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

解决方案2:

Alert alert = driver.switchTo().alert();
alert.accept();

page 2 screenshot 但它显示以下错误

Caused by: org.openqa.selenium.UnhandledAlertException: Modal dialog present
sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
sun.reflect.NativeConstructorAccessorImpl.newInstance(Unknown Source)
sun.reflect.DelegatingConstructorAccessorImpl.newInstance(Unknown Source)
java.lang.reflect.Constructor.newInstance(Unknown Source)

1 个答案:

答案 0 :(得分:2)

我建议您使用以下解决方案:

  • 如果代码显示在第一个单击确定后仍有另一个对话框,请再尝试一次:driver.switchTo().alert().dismiss();
  • 检查要显示的元素的默认等待时间(它应至少为1 second
  • 如果不起作用,请尝试在try-catch中处理此部分代码,捕获UnhandledAlertException异常并尝试在catch代码中dismiss()
  • 这是您第一次遇到此版本的Firefox问题?我使用的是Firefox 13.0.1,因为我在其他版本上遇到很多问题,也许你应该重新考虑升级。

告诉我某件事对你有用