如何查找多个标签的动态xpath以及div中的文本

时间:2018-06-21 06:06:06

标签: java selenium

在这种情况下,当我单击“保存”按钮时,成功保存的消息将显示在页面顶部,并在2秒钟后消失。现在,我必须验证文本“成功保存”。

<div class="alert alert-success fade in" style="text-align: center">
<a class="close" data-dismiss="alert" href="#">×</a>
<i class="fa fa-check" aria-hidden="true"/>
Saved Successfully
</div>

String txt=d.findElement(By.xpath("//div[@class='alert alert-success fade in']")).getText();

当我尝试使用代码时,输​​出为:

"x
Saved Successfully"

请任何人都可以给出适当的xpath来获取以下消息,例如

Saved Successfully

4 个答案:

答案 0 :(得分:0)

您可以使用此:

String txt = "x \nSaved  Successfully";
String [] parts = txt.split("\\n");
System.out.println(parts[1]);

输出:

Saved  Successfully

您正在用新行(\n分割文本,而分割的第二部分就是您想要的。

答案 1 :(得分:0)

您必须从i标记中选择文本。因此,您可以按以下方式更改xpath。

String txt=d.findElement(By.xpath("//div[@class='alert alert-success fade in']/i")).getText();

答案 2 :(得分:0)

您可以使用CSS选择器

driver.FindElement(By.CssSelector(".fa.fa-check")).getText();

答案 3 :(得分:0)

您可以通过CSS选择器“ .alert i”来获取它:

String successText = driver.findElement(By.cssSelector(".alert i")).getAttribute("innerText").trim();

最后添加修剪将确保获取文本时不存在多余的空间。