You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Python+Selenium如何获取表格行数 解决WebElement无len()报错

报错原因

你调用find_element_by_xpath返回的是单个WebElement对象,不是可统计长度的列表/序列,直接对其使用len()方法就会触发该类型错误。

正确实现方式

要统计表格行数,你需要先通过复数形式的find_elements系列方法,定位到表格内所有的<tr>行元素(该方法返回WebElement列表,可直接用len()统计长度),示例代码如下:

# 第一步:定位到目标表格元素
tabela = self.driver.find_element_by_xpath("/html/body/div[1]/div/table")
# 第二步:从当前表格下匹配所有tr行元素,注意xpath开头的.代表限定在当前元素内部查找
table_rows = tabela.find_elements_by_xpath(".//tr")
# 第三步:打印行数
print(len(table_rows))

附加说明

  • 如果只需要统计表格正文行数、排除表头行,可将第二步的xpath修改为.//tbody/tr,即可过滤掉<thead>标签内的表头行
  • 如果你使用的是Selenium 4.0及以上版本,find_element_by_xpath/find_elements_by_xpath方法已被官方弃用,推荐使用以下写法:
    首先导入By类:
    from selenium.webdriver.common.by import By
    
    对应修改代码为:
    tabela = self.driver.find_element(By.XPATH, "/html/body/div[1]/div/table")
    table_rows = tabela.find_elements(By.XPATH, ".//tr")
    print(len(table_rows))
    

内容的提问来源于stack exchange,提问作者Senhor Esteves

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.14 19:27:01