如何在Selenium webdriver中等待警报?

时间:2012-09-28 11:37:45

标签: java selenium alert selenium-webdriver

  

可能重复:
  selenium 2.4.0, how to check for presence of an alert

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

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

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

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

2 个答案:

答案 0 :(得分:11)

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

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

waitForAlert(WebDriver driver)
{
   int i=0;
   while(i++<5)
   {
        try
        {
            Alert alert = driver.switchTo().alert();
            break;
        }
        catch(NoAlertPresentException e)
        {
          Thread.sleep(1000);
          continue;
        }
   }
}

答案 1 :(得分:-1)

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;

 }