Vig*_*ran 6 javascript java firefox selenium
我正面临一个问题,其中我得到一个异常说UnhandledAlertException模态对话框存在,下面是一些跟踪
org.openqa.selenium.UnhandledAlertException:模态对话框存在:此页面,要求您确认您要离开 - 您所输入的数据可能无法saved.Build信息:版本:"2.41.0",修订版:"3192d8a6c4449dc285928ba024779344f5423c58" ,时间:'2014-03-27 11:29:39'系统信息:主机:'NCESEPBLRNRE16',ip:'172.16.137.213',os.name:'Windows XP',os.arch:'x86',os .version: '5.1',java.version:"1.6.0_26'Session ID:bda22089-a586-4cd8-b7ac-778c98581e11Driver信息:org.openqa.selenium.firefox.FirefoxDriverCapabilities [{平台= XP,acceptSslCerts =真,javascriptEnabled = TRUE,browserName =火狐,旋转=假,locationContextEnabled = TRUE,版本= 23.0,cssSelectorsEnabled = TRUE,databaseEnabled = TRUE,handlesAlerts = TRUE,browserConnectionEnabled = TRUE,nativeEvents =假,webStorageEnabled = TRUE,applicationCacheEnabled = TRUE,takesScreenshot =真在sun.reflect.NativeConstructorAccessorImpl.newInstance的sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)(NativeConstructorAccessorImpl.java:39)在sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27)在java.lang.reflect.Constructor.newInstance(Constructor.java:513)在org.openqa.selenium.remote.ErrorHandler. createThrowable(ErrorHandler.java:193)在org.openqa.selenium.remote.ErrorHandler.createUnhandledAlertException(ErrorHandler.java:174)在org.openqa.selenium.remote.ErrorHandler.throwIfResponseFailed(ErrorHandler.java:141)在org.openqa .selenium.remote.RemoteWebDriver.execute(RemoteWebDriver.java:595)org.openqa.selenium.remote.RemoteWebDriver.findElement(RemoteWebDriver.java:348)org.openqa.selenium.remote.RemoteWebDriver.findElementById(RemoteWebDriver.java) 1:389)在org.openqa.selenium.By $ ById.findElement(By.java:214)在org.openqa.selenium.remote.RemoteWebDriver.findElement(RemoteWebDriver.java:340)在com.amadeus.selenium.runner. SEPWebDriverWrapper.findElement(SEPWebDriverWrapper.java:141)
我搜索了一些解决方案并得到以下代码片段来处理这个问题
//现在出现警报 警报警报= driver.switchTo().alert(); alert.accept();
它工作正常,但警报弹出窗口出现在不同的实例(或不同的场景)中,无法在所有代码块中处理警报
请告诉我是否有任何常见的方法,我可以通过一些firefox配置文件设置或任何其他通用方法永久禁用此警报弹出窗口
我使用Selenium Java和浏览器作为Firefox
写一个像这样的方法:
protected boolean isAlertPresent() {
try {
driver.switchTo().alert();
return true;
} catch (NoAlertPresentException e) {
return false;
}
}
Run Code Online (Sandbox Code Playgroud)
调用上述方法以验证警报是否存在,如下所示:
if(isAlertPresent()){
System.out.println(isAlertPresent());
driver.switchTo().alert().accept();
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
13330 次 |
| 最近记录: |