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

Selenium使用XPath定位元素报错:WebDriver无find_elements_by_xpath属性

Selenium中find_elements_by_xpath报错的解决办法
  • 报错核心原因:你用的是Selenium 4.x版本,而视频里演示的是Selenium 3.x及更早的旧版本。4.x已经彻底移除了find_elements_by_xpath这类直接挂在WebDriver对象上的定位方法,改用统一的API格式。

  • 正确的替代写法:

    1. 先导入By类:
      from selenium.webdriver.common.by import By
      
    2. 用find_elements()方法配合By.XPATH来定位:
      # 替换成你的XPath表达式
      elements = driver.find_elements(By.XPATH, "//你的XPath路径")
      

    完整示例:

    from selenium import webdriver
    from selenium.webdriver.common.by import By
    
    driver = webdriver.Chrome()
    driver.get("目标网页URL")
    # 定位所有按钮元素
    buttons = driver.find_elements(By.XPATH, "//button")
    
  • 关于定位选项少的问题:新版本Selenium把所有定位方式(XPATH、CSS_SELECTOR、ID等)都整合到了By类中,所以你看到的直接选项变少是正常的,通过By类就能调用所有定位方法。

  • 不推荐的兼容方案(仅作参考):如果非要照搬视频里的旧代码,可以安装指定旧版本的Selenium:

    pip install selenium==3.141.0
    

    但不建议这么做,旧版本存在安全风险,且后续不再维护。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.22 17:36:16