我需要检查某些部分文本是否存在于HTML弹出窗口上,因为某些文本是动态的。
我的场景就是这样:
- 输入用户名和密码,然后单击登录按钮。
- 系统显示警报消息为:密码在此日期之前,在DD/mm/yy(有效期是动态的)上到期,请重置密码
我只想检查是否存在"密码"文本。还有其他HTML弹出窗口具有相同的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");
}