如何使用 Selenium 获取 HTML 表格中每个单元格的文本?

seleniumautomation testingtesting tools更新于 2026/2/11 15:37:17

我们可以使用 Selenium webdriver 获取 HTML 表格中每个单元格的文本。<table> 标签用于定义 HTML 文档中的表格。表格由 <tr> 表示的行和 <td> 表示的列组成。表格标题由 <th> 标识。标签。

我们考虑一个表格,我们将从中获取每个单元格的文本。

自动化工具类型链接
Selenium开源https://www.selenium.org/
UFT商业版统一功能测试器
Ranorex商业版https://www.ranorex.com/
TestCompleteCommercialTest Coomplete

让我们看看上面表格的 HTML 代码表示−

要检索表格的行数,我们将使用−

List<WebElement> rows =driver.findElements(By.tagName("tr"));

int rws_cnt= rows.size();

要获取表格的列数,我们将使用−

List<WebElement> cols =driver.findElements(By.tagName("td"));

int cols_cnt= cols.size();

示例

import org.openqa.selenium.By;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.WebElement;
import org.openqa.selenium.chrome.ChromeDriver;
import java.util.concurrent.TimeUnit;

public class TableCellValue{
   public static void main(String[] args) {
System.setProperty("webdriver.chrome.driver","C:\Users\ghs6kor\Desktop\Java\chromedriver.exe");
         WebDriver driver = new ChromeDriver();
         String u="https://sqengineer.com/practice-sites/practice-tables-selenium/";
         driver.get(u);
         driver.manage().timeouts().implicitlyWait(5, TimeUnit.SECONDS);
         // 识别表格
         WebElement t = driver.findElement(By.xpath("//*[@id='table1']/tbody"));
         // 使用 size() 方法统计行数
         List<WebElement> rws = t.findElements(By.tagName("tr"));
         int rws_cnt = rws.size();
         // 迭代表格行
         for (int i = 0;i < rws_cnt; i++) {
         // 使用 size() 方法统计列数
         List<WebElement> cols = rws.get(i).findElements(By.tagName(&"td"));
         int cols_cnt = cols.size();
         // 迭代表格列数
          for (int j = 0;j < cols_cnt; j++) {
          // 使用 getText() 获取单元格文本
         String c = cols.get(j).getText();
      System.out.println("The cell value is: " + c);
   }
}
      driver.quit();
   }
}

输出


相关文章