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

如何使用Python和Selenium提取网页表格列的所有文本?

解决方法

错误原因

  1. find_elements方法返回的是WebElement对象的列表,列表本身没有.text属性,必须访问列表内的单个元素才能调用.text。
  2. HTML表格的行索引(tr[])从1开始,但你的循环用range(totalRows)默认从0起步,会生成tr[0]这种无效XPath,导致获取不到目标元素。

修正方案

方案1:用find_element(单数)逐个获取单元格

修正循环索引从1开始,直接获取单个单元格元素后提取文本:

for x in range(1, totalRows + 1):
    cell = driver.find_element(by=By.XPATH, value=f'//*[@id="webTable"]/tbody/tr[{x}]/td[6]')
    print(cell.text)

方案2:一次性获取整列元素再遍历

更高效的方式是直接定位第6列的所有单元格,再逐个提取文本:

column_cells = driver.find_elements(by=By.XPATH, value='//*[@id="webTable"]/tbody/tr/td[6]')
for cell in column_cells:
    print(cell.text)

补充说明

  • 方案2不需要预先知道总行数totalRows,代码更简洁且不易出错。
  • 如果单元格存在动态加载的情况,建议配合显式等待(WebDriverWait)确保元素加载完成后再获取文本。

内容的提问来源于stack exchange,提问作者Mohamed Salem

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.30 23:42:27