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

Selenium Python脚本报错:__init__()意外收到'service'关键字参数

解决Selenium 3.x中webdriver.Chrome(service=...)参数错误问题

问题原因

服务器上安装的Selenium版本是3.141.0,而service参数是Selenium 4.x版本才新增的webdriver.Chrome初始化参数,3.x版本完全不支持该参数,因此触发TypeError。

两种解决方案

方案1:升级Selenium到4.x版本

执行命令让服务器环境和本地保持一致:

pip install --upgrade selenium

升级完成后,原代码无需修改即可正常运行。

方案2:修改代码适配Selenium 3.x版本

如果不想升级依赖,可调整代码兼容3.x的写法:

  1. 删除导入Service的语句:
    # 删掉这行
    from selenium.webdriver.chrome.service import Service
    
  2. 修改driver初始化代码,直接传入chromedriver路径:
    # 替换原来的service_object定义和driver初始化两行代码
    driver = webdriver.Chrome('./chromedriver')
    

额外注意事项

服务器通常为无桌面环境,建议添加Chrome无头模式参数避免运行异常,示例代码如下:

from selenium.webdriver.chrome.options import Options

# 配置无头模式
chrome_options = Options()
chrome_options.add_argument('--headless')
chrome_options.add_argument('--no-sandbox')
chrome_options.add_argument('--disable-dev-shm-usage')

# 对应方案1(Selenium 4.x)的写法
service_object = Service('./chromedriver')
driver = webdriver.Chrome(service=service_object, options=chrome_options)

# 对应方案2(Selenium 3.x)的写法
driver = webdriver.Chrome('./chromedriver', options=chrome_options)

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.19 21:47:50