简体   繁体   English

在Java中使用Selenium获取表内容

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM