我无法使用selenium 2.46.0获取文本列表。我想在跨度中返回每个文本值。
HTML代码:
<p id="wordList">
<span>
owl
</span>
<span>
end
</span>
</p>
请注意,span标记没有要引用的类或ID。
我的代码:
List<WebElement> spans = driver.findElements(By.tagName("span"));
for (WebElement span : spans) {
System.out.println(span.getText());
}
它不会返回任何文本。事实上,它甚至不会认识到span标签存在。我也尝试过不同的变体(XPath,CSSSelector等等)但似乎没什么用。任何帮助将不胜感激。
答案 0 :(得分:1)
我会尝试使用以下css
从父节点中找到跨距#wordList>span
实现:
List<WebElement> spans = driver.findElements(By.cssSelector("#wordList>span"));
for (WebElement span : spans) {
System.out.println(span.getText());
}
使用tagName和 span 从网页中找到元素是不太可行的,因为它可以包含很多元素。