如何比较Selenium Webdriver中的HTML弹出窗口中存在部分文本



我需要检查某些部分文本是否存在于HTML弹出窗口上,因为某些文本是动态的。

我的场景就是这样:

  • 输入用户名和密码,然后单击登录按钮。
  • 系统显示警报消息为:密码在此日期之前,在DD/mm/yy(有效期是动态的)上到期,请重置密码

我只想检查是否存在"密码"文本。还有其他HTML弹出窗口具有相同的div IDclass,只有警报消息文本不同。

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");
}

相关内容

  • 没有找到相关文章

最新更新