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

求助:PyCharm中用Robot Framework遇'WebDriver'无'find_elements_by_xpath'属性错误

解决'WebDriver' object has no attribute 'find_elements_by_xpath'错误

这个错误的核心原因是Selenium 4.x版本移除了find_elements_by_xpath这类旧的元素定位方法——这类方法在Selenium 3.x及以前可用,但4.x开始统一改用标准化的定位方式。下面分两种场景给出解决办法:

场景1:在Robot Framework测试用例中使用SeleniumLibrary

直接用SeleniumLibrary提供的标准关键字即可,不需要手动调用WebDriver的底层方法:

# 获取匹配xpath的所有元素
${elements}=    Get WebElements    xpath=//your/xpath/expression
# 或者用Find Elements关键字,效果一致
${elements}=    Find Elements    xpath=//your/xpath/expression

场景2:在自定义Python关键字中直接操作WebDriver对象

如果是自己写的Python关键字里用到了WebDriver,需要调整代码写法:

  1. 先导入By类:
    from selenium.webdriver.common.by import By
    
  2. 替换旧的定位代码:
    # 旧写法(Selenium 3.x可用,4.x已移除)
    # elements = driver.find_elements_by_xpath("//your/xpath/expression")
    
    # 新写法(Selenium 4.x及以上兼容)
    elements = driver.find_elements(By.XPATH, "//your/xpath/expression")
    

可选方案:降级Selenium到3.x(不推荐)

如果暂时不想修改代码,可以降级Selenium到3.x版本(注意3.x已停止维护,存在安全风险):

pip install selenium==3.141.0

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.17 05:40:37