【发布时间】:2015-02-20 10:02:39
【问题描述】:
这是我另一篇文章的延续
Using JSoup to get data-code value of a table
我正在尝试使用 Selenium webdriver 中的 cssSelector() 方法获取表格上 <span> 标记内的文本
<table class ="team-list">
<tr data-code="1">
<td>
<span>
Get This Text
</span>
</td>
</tr>
</table>
我试过下面的代码,但这会打印出每一行所有单元格中的文本,但我只有需要得到<span>标签内的那个
WebDriver driver = new FirefoxDriver();
driver.get("http://www.example.com");
List<WebElement> elements = driver.findElements(By.cssSelector("table.team-list td"));
for(WebElement element: elements)
{
System.out.println(element.getText());
}
【问题讨论】:
-
使用
.team-list td span...你提供 td 所以它会给出所有 td 的文本,包括那些没有 span 的文本。 -
这对我有用
List<WebElement> elements = driver.findElements(By.cssSelector("table.team-list td > td:nth-of-type(2)"));
标签: java selenium-webdriver web-scraping