在几个地方,现在面临一些未处理的警报,因此每次点击的规划,以检查是否警报存在,对于正在使用下面的代码,如何检查警报是否存在与零隐含硒等
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);
}
}
但上面的代码需要一些时间来检查警报是否存在,因为我将对每次点击使用此方法,其等待时间太长,使得上述代码中的隐式等待零不起作用。任何人都可以为此提供帮助。
可能重复[如何等待Selenium webdriver中的警报?](http://stackoverflow.com/questions/12639280/how-to-wait-for-an-alert-in-selenium-webdriver) – alecxe 2014-11-22 06:12:56
在“可能重复”的问题中,有一个答案可能适合您的需求 - 它遵循“EAFP”方法:尝试切换并处理异常,重复。 – alecxe 2014-11-22 06:14:02
@alecxe我的需求与此有点不同,我的问题是非常具体地检查一个没有任何隐含的等待的警报。举例来说,如果使隐式等待零并检查显示的元素,它会立即给出结果,但在检查警报时,情况并非如此,即使在将隐式等待为零之后,它仍在等待某个时间。 – 2014-11-22 06:20:23