从Selenium的跨度中获取文本

时间:2015-07-11 16:48:51

标签: java html selenium

我无法使用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等等)但似乎没什么用。任何帮助将不胜感激。

1 个答案:

答案 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 从网页中找到元素是不太可行的,因为它可以包含很多元素。