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

Selenium Driver无法在父元素范围内定位指定元素求助

问题解决:仅在指定父元素内定位子元素

你的问题出在XPath的路径写法上://tr[contains(@id,'informal')]是全局路径查询,会从整个页面的根节点开始遍历所有符合条件的元素,而不是限定在table_list这个父元素内部。

修复方法

把XPath改为相对路径,在开头加上.,表示从当前上下文元素(也就是table_list)的子节点中查找:

def value():
    table_list = driver.find_element(By.ID,"table_list")
    print(table_list.text)
    # 修改XPath为相对路径,加上.//
    value_informal = table_list.find_elements(By.XPATH,".//tr[contains(@id,'informal')]")
    for tr in value_informal:
        # 直接遍历元素,替代索引遍历更简洁
        value_td = tr.find_elements(By.TAG_NAME, "td")
        print(value_td[3].text)

补充说明

  • .// 表示从当前元素的所有后代节点中搜索,严格限定在table_list的范围内。
  • 优化了循环写法,直接遍历元素集合比通过索引取值更直观易读。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.13 19:05:30