selenium获取html的表格单元格数据

获取网页的表格的某个单元格的值,思路:

1、获取表格

2、获取表格的所有行

3、根据某一行获取该行的所有列

4、根据某一列获得该行该列的单元格值

根据以上思路,可以知道,只需要行、列就可以得到单元格的值,所以方法的参数就是行值,列值

代码如下:

复制代码
package com.table;

import java.util.List;

import org.openqa.selenium.By;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.WebElement;
import org.openqa.selenium.chrome.ChromeDriver;

/** 
* @ClassName: TestTable 
* @Description: TODO(获取表格的某个单元格的值) 
* @author qiaojiafei 
* @date 2015年12月4日 上午10:32:44 
*  
*/
public class TestTable {
    WebDriver dr = null;
    public void init() {
        System.setProperty("webdriver.chrome.bin", "D:/BaiduYunDownload/selenium/chromedriver.exe");
        dr = new ChromeDriver();
        dr.get("file:///D:/testhtml/table.html");
    }
    
    public void tearDown() {
        dr.quit();
    }
    
    public List<WebElement> getRow() {
        WebElement e_table = dr.findElement(By.id("myTable"));
        List<WebElement> e_row = e_table.findElements(By.tagName("tr"));
        int i = e_row.size();
        //System.out.println(i);
        return e_row;
    }
    
    public WebElement getCell(List<WebElement> list, int rowN, int colN) {
        List<WebElement> e_col = list.get(rowN-1).findElements(By.tagName("td"));
        return e_col.get(colN-1);
    }
    
    public String getTalbeValue(int rowN, int colN) {
        String s = getCell(getRow(), rowN, colN).getText();
        return s;
    }
    public static void main(String args[]) {
        TestTable tt = new TestTable();
        tt.init();
        System.out.println(tt.getTalbeValue(2, 1));
    }

}
复制代码

 

posted on   乔叶叶  阅读(3708)  评论(0编辑  收藏  举报

编辑推荐:
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
阅读排行:
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· 分享 3 个 .NET 开源的文件压缩处理库,助力快速实现文件压缩解压功能!
· Ollama——大语言模型本地部署的极速利器
· DeepSeek如何颠覆传统软件测试?测试工程师会被淘汰吗?

导航

< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5
点击右上角即可分享
微信分享提示