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

Python Selenium遍历表格仅获取第一行数据问题求助

问题分析与解决办法

问题原因

你获取单元格时使用的XPath //td[@data-bind='text: CodPlaceOrg'] 是全局搜索路径,会从整个HTML文档的根节点开始查找匹配元素,因此每次循环都会返回页面中第一个符合条件的单元格(也就是第一行的内容),而不是当前行下的对应单元格。

解决办法

将XPath改为相对路径,在开头添加.,表示从当前遍历的行节点下开始搜索子节点。同时可以优化循环写法,直接遍历行元素更简洁:

table = driver.find_element(By.XPATH, "//div[@class='panel panel-primary']//table[@id='SheetDetails']")
body = table.find_element(By.TAG_NAME, "tbody")

rows = body.find_elements(By.TAG_NAME, "tr")

for row in rows:
    numExpedicion = row.get_attribute('id').split('-', 1)[1]
    
    # 使用相对路径从当前行内查找目标单元格
    origenPlaza = row.find_element(By.XPATH, ".//td[@data-bind='text: CodPlaceOrg']")
    print(origenPlaza.text)
    
driver.quit()

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.30 19:36:20