这是我另一篇文章的延续
Using JSoup to get data-code value of a table
我正在尝试获取<span>
内的文本使用cssSelector()
在表格上标记Selenium webdriver 中的方法
<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());
}
最佳答案
如果您知道要查找的文本,您可以执行以下操作:
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)
{
if(element.getText().equals("Get This Text"))
System.out.println(element.getText());
}
这可能是o(n),但如果您不关心可以解决您的问题的性能。
关于java - Java中使用Selenium获取表内容,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28626225/