如何使用IEDriver的webdriver处理javascript警报

时间:2013-09-26 05:59:45

标签: javascript selenium webdriver alerts

使用selenium IEwebdriver,webdriver Alert类方法无效......这个问题似乎特定于IE浏览器,而在chrome,ff等中运行良好。

我们可以使用IEWebdriver来处理js警报的任何变通方法。?

我尝试使用javascriptexecutor方法,如下所示

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

但没有运气:(

非常感谢任何帮助

1 个答案:

答案 0 :(得分:2)

在java中我们这样做:

WebDriverWait wait = new WebDriverWait(driver, TIMEOUT);
wait.until(ExpectedConditions.alertIsPresent());

以上代码将隐式等待警报。如果不存在警报,它将抛出TimeoutException。

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

以上代码切换为警告弹出窗口并单击“确定”。如果不存在alert,则会抛出NoAlertPresentException。

希望它有所帮助。