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

Selenium XPath定位报错:DevTools可查元素但返回TypeError

问题解决与功能说明

先修复你的错误

你碰到的TypeError: 'str' object is not callable错误,核心是方法调用或语法问题:

  • 若用Python版Selenium,正确方法名是小写的find_elements,且By.XPATH参数顺序要注意,写法如下:
    driver.find_elements(By.XPATH, "//div[@id='library-list']//div[@class='piece ui-draggable ui-draggable-handle']")
    
  • 若用C#版Selenium,确认已正确引用OpenQA.Selenium命名空间,driver实例初始化正常,正确写法:
    driver.FindElements(By.XPath("//div[@id='library-list']//div[@class='piece ui-draggable ui-draggable-handle']"))
    

Selenium中类似Puppeteer $x的功能

Selenium有两种方式实现和DevTools/Puppeteer中$x一致的效果:

  1. 原生XPath定位方法
    就是上面修复后的find_elements(By.XPATH, 表达式)(Python)或FindElements(By.XPath(表达式))(C#),本质和$x一样是通过XPath查询元素列表。
  2. 执行JS调用浏览器原生$x
    可以直接在Selenium中调用浏览器的$x函数,返回元素列表,比如Python代码:
    elements = driver.execute_script("return $x('//div[@id=\"library-list\"]//div[@class=\"piece ui-draggable ui-draggable-handle\"]')")
    
    这种方式和你在DevTools控制台输入$x的效果完全相同,返回的元素会被Selenium包装成WebElement实例。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.06 17:35:43