HTML代码:
<div class="deviceName truncate"><a ng-href="#" href="#" style="">Hello World</a></div>
每个<a>
元素,链接文本包含双倍空格"Hello World"
在List
中检索信息List<WebElement> findAllUserName = driver.findElements
(By.xpath("//div[@class='deviceName truncate']//a[text()]"));
for (WebElement webElement : findAllUserName) {
String findUSerText = webElement.getText();
System.out.println(findUSerText);
}
它的列表结果包含单个空格"Hello World"
如何克服这种情况?要比较文字,
关注此背后,想要将list元素与给定字符串进行比较:
driver.findElement(By.xpath("//div[@class='deviceName truncate']//a[contains(text(),'" + name + "')]"))
考虑到双倍空间,
答案 0 :(得分:0)
如果您只是检查浏览器如何呈现链接,您会发现它也只有一个空间。请参阅此讨论:Do browsers remove whitespace in between text of any html tag
所以你应该像这样添加一个样式到你的页面
a {
white-space: pre;
}
这将使您的所有链接都无格式化。
或尝试动态注入特定元素的样式,如下所示:How can i set new style of element using selenium web-driver
Here is the example有两个相同的链接但设置了不同的样式。