有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

如何使用JAVA在selenium webdriver中显示div标记之间可用的动态文本

我一直在尝试自动设置密码重置功能。因此,当电子邮件可用时,我们会收到一条消息,而当没有另一条消息时,这两条消息都在同一个标签中,但根据电子邮件id的不同,它们是动态的。如何显示这种动态文本

源代码是

if($.trim(response) == '1'){
$(".resultreset").html("<div class='alert alert-success'>New Password sent to "+resetemail+", Kindly check email</div>");
}else{
$(".resultreset").html("<div class='alert alert-danger'>Email Not Found</div>");
} }); });

标签就像

<div class="resultreset">
<div class="alert alert-danger">Email Not Found</div>
</div>

<div class="resultreset">
<div class="alert alert-success">New Password sent to "xxx@xxx.com", Kindly check email</div>
</div>

如何将文本“Email Not Found”或新密码发送到"xxx@xxx.com",请检查电子邮件并在selenium webdriver中使用JAVA显示

我尝试使用xpath来定位它//*[@id='passresetfrm']/div[1]/div/text(),但webdriver无法定位元素。 也尝试了driver.findElement(By.classname("alert")).gettext();,即使这是不被认可的

它定位类,但不定位消息

忘记密码部分的完整源代码

<div id="ForgetPassword" class="modal wow fadeIn animated animated in" tabindex="" role="dialog" aria-labelledby="ForgetPassword" aria-hidden="true" style="visibility: visible; animation-name: fadeIn; display: block; padding-right: 17px;">
<div class="modal-dialog modal-sm">
<div class="modal-content">
<div class="modal-header">
<button class="close" type="button" data-dismiss="modal" aria-hidden="true">
<span class="ink animate" style="height: 21px; width: 21px; top: 2.5px; left: -5.56665px;"></span>
×
</button>
<h4 class="modal-title">
<i class="fa fa-asterisk"></i>
Forget Password
</h4>
</div>
<div class="modal-body">
<form id="passresetfrm" method="POST" action="" accept-charset="UTF-8" onsubmit="return false;">
<div class="resultreset">
<div class="alert alert-danger">Email Not Found</div>
</div>
<div class="input-group">
<input id="resetemail" class="form-control" placeholder="your@email.com" name="email" required="" type="text">
<span class="input-group-btn">
<button class="btn btn-primary resetbtn" type="submit">
<span class="ink animate" style="height: 62px; width: 62px; top: -98.7167px; left: -11.5167px;"></span>
Reset
</button>
</span>  
</div> 
</form> 
</div> 
</div> 
</div> 
</div> 

共 (2) 个答案

  1. # 1 楼答案

    标识元素并使用getText获取该标记中的嵌入文本。下面的代码可能会给你一些想法

    webElement result = driver.findElement(by.xpath("//div[@class='resultreset']/div"))
    String message = result.getText();
    

    希望这有帮助。谢谢

  2. # 2 楼答案

    我不知道为什么getText()不适合你,但你能试试getAttribute("textContent")

    String textToVeify = driver.findElement(By.classname("alert")).getAttribute("textContent");