[英]Using Selenium in Java to get table contents
This is a continuation from my other post 这是我的另一篇文章的延续
Using JSoup to get data-code value of a table 使用JSoup获取表的数据代码值
I am trying to get the text inside the <span>
tags on the table using the cssSelector()
method in Selenium webdriver 我试图使用Selenium webdriver中的
cssSelector()
方法获取表中<span>
标记内的文本
<table class ="team-list">
<tr data-code="1">
<td>
<span>
Get This Text
</span>
</td>
</tr>
</table>
I have tried the following code, but this will print out the text in all cells for each row, but i only need to get the one inside the <span>
tags 我已经尝试了以下代码,但是这将打印出每行所有单元格中的文本,但我只需要在
<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());
}
我认为你应该将你的选择器更改为:
By.cssSelector("table.team-list span")
Try something like this. 尝试这样的事情。
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)
{
try{
System.out.println(element.findElement(By.tagName("span")).getText());
}(org.openqa.selenium.NoSuchElementException nsee){
}
}
if you know the text you are looking for you can the following: 如果您知道要查找的文本,可以执行以下操作:
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());
}
That's might be o(n) but if you are not care about performance that could solve your problem. 这可能是o(n),但如果你不关心可以解决你的问题的性能。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.