我需要使用Java阅读Web驱动程序中弹出窗口上显示的文本

我需要使用Java阅读Web驱动程序中弹出窗口上显示的文本,java,javascript,webdriver,selenium-webdriver,Java,Javascript,Webdriver,Selenium Webdriver,我需要使用Java阅读Web驱动程序中弹出窗口上显示的文本。我能够处理关闭的弹出窗口。我不知道如何读取弹出窗口上显示的文本并在控制台中打印 我不能提供任何HTML代码,因为这是一个模式弹出窗口 请帮我做这个。非常感谢您的帮助。根据您的屏幕截图,您试图自动执行的“模式弹出窗口”似乎是由JavaScript alert()函数生成的。如果是这种情况,下面的代码或类似的代码应该可以工作 // WARNING! Untested code written from memory without // b

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

我不能提供任何HTML代码,因为这是一个模式弹出窗口


请帮我做这个。非常感谢您的帮助。

根据您的屏幕截图,您试图自动执行的“模式弹出窗口”似乎是由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();

您以前使用过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();

此外,您可能需要在收到文本后切换回警报。希望这能有所帮助。

如果这是您的应用程序,您是否能够捕获要在弹出窗口中显示的消息?感谢您的早日回复。这是我正在处理的应用程序,但弹出窗口上显示的消息无法读取,因为它是一个模式弹出窗口,而不是一个正常的弹出窗口,我们可以在不关闭弹出窗口的情况下工作。如果不关闭模式弹出窗口,我们将无法再处理该应用程序。而该弹出窗口-是javascript弹出窗口吗?我发现了如何获取警报框文本的描述:谢谢你的回答JimEvans。我能够阅读弹出窗口上的文本。但我有个问题。我的脚本在说“Modal Dailog Present”时出错。我无法处理它。请您也就此问题向我提出建议。谢谢您的回复,现在我收到了错误,我使用了alert.Disclease()方法;因此它不会给出任何错误