如何在Selenium webdriver中等待警报?

可能重复:
selenium 2.4.0,如何检查是否存在警报

我使用以下代码关闭警报窗口:

Alert alert3 = driver.switchTo().alert(); alert3.dismiss(); 

主窗口打开几秒后出现警报。

我该如何等待并检查警报是否出现?

没有等待警报的默认方法。

但是,你可以编写自己喜欢的方法。

 waitForAlert(WebDriver driver) { int i=0; while(i++<5) { try { Alert alert = driver.switchTo().alert(); break; } catch(NoAlertPresentException e) { Thread.sleep(1000); continue; } } } 
 public boolean isAlertPresent() { boolean presentFlag = false; try { // Check the presence of alert Alert alert = driver.switchTo().alert(); // Alert present; set the flag presentFlag = true; // if present consume the alert alert.accept(); } catch (NoAlertPresentException ex) { // Alert not present ex.printStackTrace(); } return presentFlag; }