可能重複:
selenium 2.4.0, how to check for presence of an alert如何等待Selenium webdriver中的警報?
我使用下面的代碼以關閉警報窗口:
Alert alert3 = driver.switchTo().alert();
alert3.dismiss();
警報的開盤後出現了幾秒鐘主窗口。
如何等待並檢查警報是否出現?
可能重複:
selenium 2.4.0, how to check for presence of an alert如何等待Selenium webdriver中的警報?
我使用下面的代碼以關閉警報窗口:
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;
}
討論這種方法不會等待警報。只是它會檢查警報是否存在。 – Santoshsarma
對不起。是的。得到一個律,但misconfused。 試試這個: http://stackoverflow.com/questions/8310548/how-can-i-reliably-wait-for-javascript-alerts-using-selenium2-webdriver –
似乎在這裏 http://stackoverflow.com/questions/7076758/selenium-2-4-0-how-to-check-for-presence-of-an-alert –