java - Java中使用Selenium获取表内容

标签 java selenium-webdriver web-scraping

这是我另一篇文章的延续

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/

相关文章:

java - 多线程中面临的问题

python - 从碎片中保存内联图像

java - ExecutorService 并在关闭后等待其他任务完成时接受新任务

java - Java 中字符串中的转义引号

java - Spring Boot应用程序不断创建新的数据库表

java - 如何在不使用文本的情况下从页面中选择内容?

python - 使用 python 检索 selenium 中更新的 url

python - 如何使用 beautifulsoup 抓取雅虎收入日历

vba - 将表格从 IE 解析到 Excel

javascript - 使用 javascript 抓取模式内部