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

WebDriver初始化报错:TypeError: WebDriver.__init__()参数options重复赋值

解决TypeError: WebDriver.init() got multiple values for argument 'options'

问题原因

你写的代码browser = webdriver.Chrome(CHROME_DIR, options=options, desired_capabilities=capabilities)里,CHROME_DIR(Chrome驱动路径)被当成了第一个位置参数传递,但在新版Selenium(尤其是4.x+版本)中,webdriver.Chrome的第一个位置参数已经从executable_path改为options,这就导致你既通过位置传了一个值给options,又通过关键字options=options传了一次,触发重复参数报错。

修复方案

分两种情况处理:

  • 如果你的Selenium版本是4.x及以上,推荐使用Service类指定驱动路径:
    from selenium.webdriver.chrome.service import Service
    
    service = Service(executable_path=CHROME_DIR)
    browser = webdriver.Chrome(service=service, options=options, desired_capabilities=capabilities)
    
  • 若你坚持使用旧版写法(仅适用于Selenium 3.x及更早版本),需要显式指定executable_path参数名:
    browser = webdriver.Chrome(executable_path=CHROME_DIR, options=options, desired_capabilities=capabilities)
    

额外提示:desired_capabilities在新版Selenium中已逐步被options替代,你可以把相关配置直接添加到options对象里,示例:

options.add_argument("--some-argument")
# 替代desired_capabilities的部分配置
options.set_capability("capability_name", "value")

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.23 19:32:01