Java 如何比较SeleniumWebDriver中HTML弹出窗口中是否存在部分文本?
我需要检查一些部分文本是否存在于HTML弹出窗口中,因为一些文本是动态的 我的场景是这样的:Java 如何比较SeleniumWebDriver中HTML弹出窗口中是否存在部分文本?,java,selenium,xpath,selenium-webdriver,compare,Java,Selenium,Xpath,Selenium Webdriver,Compare,我需要检查一些部分文本是否存在于HTML弹出窗口中,因为一些文本是动态的 我的场景是这样的: 输入用户名和密码,然后单击登录按钮 系统显示警告消息为:密码为,在该日期之前的年月日到期(到期日期为动态),重置密码 我只想检查“密码是”文本是否存在。 还有其他HTML弹出窗口具有相同的divID和class,只是警报消息文本不同 HTML代码: <div id="msgBox1481602403457" class="msgBox" style="opacity: 1; top: 19.5
- 输入用户名和密码,然后单击登录按钮
- 系统显示警告消息为:密码为,在该日期之前的年月日到期(到期日期为动态),重置密码
div
ID
和class
,只是警报消息文本不同
HTML代码:
<div id="msgBox1481602403457" class="msgBox" style="opacity: 1; top: 19.5px; left: 566.5px; background-image: url("styles/images/msgBoxBackGround.png");">
<div class="msgBoxTitle">Information</div>
<div>
<div class="msgBoxContainer">
<div id="msgBox1481602403457Image" class="msgBoxImage">
<img src="styles/images/info.png">
</div>
<div id="msgBox1481602403457Content" class="msgBoxContent">
<p>
<span>
The Password is,
<br>
Expires on dd/mm/yy
<br>
Before this date,
<br>
Reset the password
</span>
</p>
</div>
</div>
<div id="msgBox1481602403457Buttons" class="msgBoxButtons">
</div>
</div>
问询处
密码是,
于年月日到期
在此日期之前,
重置密码
这样试试-
String divText = driver.findElement(By.xpath("@class='msgBoxContent'")).getText();
上面的代码行应该给出该div中的全文-密码是,在该日期之前的dd/mm/yy到期,重置密码
然后使用contains()方法检查您要查找的文本是否可用
if(divText.contains("The Password is")) {
System.out.println("match found");
} else {
System.out.println("match not found");
}
到目前为止你做了什么?发布我在下面尝试过的代码String text=“密码是”;List List=driver.findelelements(By.xpath(“/*[contains(text(),“+text+”)]”));如果(text.equals(list)){System.out.println(“请重置密码,密码将过期”);}其他{System.out.println(“继续”);}谢谢您的回复,这对我有用。我刚刚将xpath更新为:String divText=driver.findElement(By.xpath(“//div[@class='msgBoxContent']/p/span”).getText();