Selenium Edge驱动初始化失败,报AttributeError错误求助
解决Selenium初始化Edge驱动时的AttributeError问题
问题根源
Selenium 4.x版本起,初始化Edge驱动的方式发生了变化——不能直接将驱动路径字符串传给Edge()构造函数。如果仍用旧写法,程序会把路径字符串误当作capabilities参数处理,从而触发'str'对象没有'capabilities'属性的错误。
修复方案
步骤1:导入必要的类
除了webdriver,还需要导入Service类来封装驱动路径。
步骤2:重构初始化代码
用Service类包裹驱动路径,再将其传入Edge()的service参数中。
完整示例代码
from selenium import webdriver from selenium.webdriver.edge.service import Service # 替换为你的实际驱动路径,可使用原始字符串避免转义问题 driver_path = r"C:\your\path\to\msedgedriver.exe" # 初始化Service实例 service = Service(driver_path) # 传入Service实例创建驱动对象 driver = webdriver.Edge(service=service) # 后续业务逻辑 driver.maximize_window() driver.get("https://www.google.pl") driver.quit()
额外检查项
- 确保Edge浏览器版本与
msedgedriver版本完全一致(主版本号必须匹配,比如浏览器是119.x,驱动也得是119.x) - 验证驱动路径指向的是真实存在的
msedgedriver.exe文件,无拼写错误
内容的提问来源于stack exchange,提问作者Paweł Milewski
相关产品推荐
相关产品推荐

