Alp*_*Alp 39 java alert popup selenium-webdriver
我想检测是否弹出警报.目前我使用以下代码:
try {
Alert alert = webDriver.switchTo().alert();
// check if alert exists
// TODO find better way
alert.getText();
// alert handling
log().info("Alert detected: {}" + alert.getText());
alert.accept();
} catch (Exception e) {
}
Run Code Online (Sandbox Code Playgroud)
问题是,如果对网页的当前状态没有警觉,等待特定的时间量,直到达到超时,则抛出一个异常,因此性能实在是太差了.
有没有更好的方法,也许是一个警报事件处理程序,我可以用它来动态发生警报?
小智 76
这对我来说很有用,使用显式等待WebDriver:高级用法
public void checkAlert() {
try {
WebDriverWait wait = new WebDriverWait(driver, 2);
wait.until(ExpectedConditions.alertIsPresent());
Alert alert = driver.switchTo().alert();
alert.accept();
} catch (Exception e) {
//exception handling
}
}
Run Code Online (Sandbox Code Playgroud)
Rip*_*sim 16
写下面的方法:
public boolean isAlertPresent() {
try {
driver.switchTo().alert();
return true;
} // try
catch (Exception e) {
return false;
} // catch
}
Run Code Online (Sandbox Code Playgroud)
现在,您可以使用上面所述的方法检查警报是否存在,如下所示:
if (isAlertPresent()) {
driver.switchTo().alert();
driver.switchTo().alert().accept();
driver.switchTo().defaultContent();
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
142019 次 |
| 最近记录: |