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

RPAFramework中Selenium遍历表格行查找td元素报invalid locator错误求助

错误根因

tag: 是 RPA.Browser.Selenium 封装方法专属的定位器前缀,你通过lib.find_elements获取到的tr是原生Selenium的WebElement对象,它自带的find_elements方法不识别这种带前缀的定位格式,因此触发invalid locator报错。

修复方案

有两种可行的修改方式:

方案1:使用RPA.Selenium库的封装方法定位子元素

利用库方法自带的parent参数指定父节点,用相对xpath限定查找范围:

from RPA.Browser.Selenium import Selenium

lib = Selenium()

lib.open_available_browser("https://ge.globo.com/futebol/brasileirao-serie-a/")
lib.wait_until_element_is_visible('xpath://*[@id="classificacao__wrapper"]/article/section[1]/div/table[2]/tbody/tr')
trs = lib.find_elements('xpath://*[@id="classificacao__wrapper"]/article/section[1]/div/table[2]/tbody/tr')

for tr in trs:
    # 传入parent参数限定查找范围为当前tr节点下,用相对xpath定位td
    td = lib.find_elements('xpath:.//td', parent=tr)
    print(td)

方案2:使用原生WebElement的定位语法

直接调用WebElement自带的定位方法,不需要加定位前缀:

for tr in trs:
    # 原生方法直接指定定位策略和定位值
    td = tr.find_elements('tag name', 'td')
    # 也可以用更简洁的专属方法:td = tr.find_elements_by_tag_name('td')
    print(td)

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.03 15:54:05