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

使用XPath按文本定位元素遇Document evaluate错误求助

问题解决:XPath构造错误导致的TypeError
  • 错误根源:你构造的XPath表达式多了外层的单引号。从print结果能看到,你的XPath被包裹成了'//a[contains(text(),"0027341-66.2323.0124")]',但Selenium的find_element(By.XPATH, ...)只需要传入纯XPath表达式,不需要额外加单引号包裹整个字符串。这种错误格式会让浏览器无法正确解析XPath,从而抛出类型错误。

  • 修正后的代码:
    用f-string简化XPath构造(更直观不易出错):

    search_num = f'//a[contains(text(),"{row[1]}")]'
    print(search_num)
    xPathnum = self.chrome.find_element(By.XPATH, search_num)
    print(xPathnum.get_attribute("id"))
    

    或者用传统字符串拼接:

    search_num = '//a[contains(text(),"' + row[1] + '")]'
    
  • 验证:修正后print出来的XPath应该是//a[contains(text(),"0027341-66.2323.0124")],没有外层单引号,浏览器就能正确解析并找到对应的节点。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.31 04:45:42