【发布时间】:2015-01-20 09:09:55
【问题描述】:
在少数地方,我面临一些未处理的警报,因此对于每次点击计划检查警报是否存在,为此我使用以下代码,
public boolean isAlertPresent(){
try{
driver.manage().timeouts().implicitlyWait(0, TimeUnit.SECONDS);
Alert a=driver.switchTo().alert();
a.accept();
return true;
}
catch (NoAlertPresentException e) {
return false;
}
finally{
driver.manage().timeouts().implicitlyWait(3, TimeUnit.SECONDS);
}
}
但是上面的代码需要一些时间来检查alert是否存在,因为我每次点击都会使用这个方法,等待的代价太高了,上面代码中的隐式等待为零没有效果。有人可以帮忙吗?
【问题讨论】:
-
在“可能重复”的问题中,有一个可能符合您需求的答案 - 它遵循
EAFP方法:尝试切换并处理异常,重复。 -
@alecxe 我的需求与此有所不同,我的问题非常具体,即在没有任何隐式等待的情况下检查警报。比如说,如果让隐式等待为零并显示检查一个元素,它会立即给出结果,但是在检查警报时,情况并非如此,即使在隐式等待为零后,它也在等待一段时间。跨度>
标签: java javascript selenium