无法使用selenium webdriver获取警报文本

时间:2017-04-05 05:19:53

标签: selenium internet-explorer selenium-webdriver

我有以下代码来验证警报文本然后解散。验证警报文本失败。

WebDriverWait wait = new WebDriverWait(driver, 10);
            wait.until(ExpectedConditions.alertIsPresent());
            Alert alert = driver.switchTo().alert();
            alertText = alert.getText();

alertText返回null。因此,断言文本的下一步是失败的。 下一步:

driver.switchTo().alert().accept();

接受警报,没有任何问题。

另一个奇怪的情况是我在eclipse中调试它的工作正常。但是当我运行断言时会抛出错误。

我在运行和调试时发现的另一个差异。 在运行警报时出现此消息不要让此页面创建更多消息

看起来很奇怪。

1 个答案:

答案 0 :(得分:2)

将消息显示为“不要让此页面创建更多消息”是浏览器功能,以防止网站显示数百个警报。

在调试代码时它正在运行,即使在运行时它也应该工作。如果不工作,肯定是它的同步问题。我希望加上一些耐心肯定有帮助。

从警报弹出窗口获取警报文本的其他方法:

public String getJsAlertText()
{
Object txt = ((JavascriptExecutor)driver).executeScript("return
window.alert.myAlertText;");
return (String)txt;
}