Java 如何使用webdriver在弹出消息中选择元素?

Java 如何使用webdriver在弹出消息中选择元素?,java,webdriver,Java,Webdriver,我有一个可以创建文档的网页。 当我保存文档时,会出现一条消息,如“文档已成功保存” 该消息仅显示3秒钟。 如何使用webdriver查找元素,以检查测试期间显示的消息 在html代码中,我试图捕获此消息的代码,它出现了3秒钟,然后消失 代码如下: <div class="alert alert-success top center alert-notify alert-icon> Document successfully saved. <span class="Close"&

我有一个可以创建文档的网页。 当我保存文档时,会出现一条消息,如“文档已成功保存”

该消息仅显示3秒钟。 如何使用webdriver查找元素,以检查测试期间显示的消息

在html代码中,我试图捕获此消息的代码,它出现了3秒钟,然后消失

代码如下:

<div class="alert alert-success top center alert-notify alert-icon>
Document successfully saved.
<span class="Close"></span>
然后我也尝试了一下,但没有成功:

driver.findElement(By.className("alert alert-success top center alert-notify")).isDisplayed();             
Thread.sleep(3000);              
System.out.println(" Alert message is displayed");

有人能帮我吗,我不知道如何处理你的第二次尝试是检测消息的正确方法,但是你必须尝试3秒钟才能找到元素。 应该是这样的

while (!elementFound || stillWithin3Seconds){
  elementFound = findAlertByClassName()
}
assetTrue(elementFound)

你必须一直看。在代码中,您正在睡觉。此时,当对话框出现时,您不会注意到它。

只需再做一次:首先。让您的消息保持打开状态,并检查findElement是否正常工作。谢谢,但我无法按类名在消息中找到元素,您使用哪种方法查找元素?可能是因为警告图标位于选择器中。MABEM尝试设置div元素的id并尝试选择此项。alrt消息不像弹出窗口,我必须单击“确定”或“取消”,消息会尽快出现和消失。我知道,但是,您可以通过这种方式更改代码,它会保留下来,您可以使用它吗?或者获取html只是为了构建测试。
while (!elementFound || stillWithin3Seconds){
  elementFound = findAlertByClassName()
}
assetTrue(elementFound)