1

弹出窗口

我需要使用 Java 阅读 Web 驱动程序中弹出窗口上显示的文本。我能够处理关闭的弹出窗口。我不知道如何阅读弹出窗口上显示的文本并在控制台中打印它。

我无法为此提供任何 HTML 代码,因为它是一个模态弹出窗口。

请帮助我。帮助将不胜感激。

4

2 回答 2

2

鉴于您的屏幕截图,您尝试自动化的“模式弹出窗口”看起来是由 JavaScript alert() 函数生成的。如果是这种情况,下面的代码或类似的代码应该可以工作。

// WARNING! Untested code written from memory without
// benefit of an IDE! May not be exactly correct!

// Switch the driver context to the alert
Alert alertDialog = driver.switchTo().alert();

// Get the alert text
String alertText = alertDialog.getText();

// Click the OK button on the alert.
alertDialog.accept();
于 2013-02-27T12:10:46.327 回答
1

您以前使用过 WebDriverWait 对象吗?要扩展上一个答案,您也许可以做类似的事情,但我没有测试过:

WebDriverWait wait = new WebDriverWait(5, TimeUnit.Seconds);

element.click();

// Wait for the dialog to show
wait.until(ExpectedConditions.alertIsPresent());

// Switch the driver context to the alert
Alert alertDialog = driver.switchTo().alert();

// Get the alert text
String alertText = alertDialog.getText();

// Click the OK button on the alert.
alertDialog.accept();

此外,您可能必须在收到文本后切换回警报。希望这可以帮助。

于 2013-02-28T22:46:58.370 回答