解决运行Selenium报错:self.driver = webdriver.Chrome(service=service) TypeError: __init__() got an unexpected keyword argument ‘service’

这个错误说明你在使用 webdriver.Chrome(service=service) 的方式初始化 Selenium 的 Chrome 浏览器驱动时,传入了一个不被支持的参数 service,引发了 TypeError


💡 错误分析:

报错信息:

TypeError: __init__() got an unexpected keyword argument 'service' 

说明当前的 webdriver.Chrome() 方法 不接受 service 参数。这是由于你当前使用的 Selenium 版本较旧(如 v3.x 或更早),而 service=... 是在 Selenium 4.0+ 中才新增支持的方式。


✅ 解决方案:

✅ 方法一:升级 Selenium 到 4.x 或更高版本(推荐)

如果你能控制环境,推荐直接升级 Selenium,以使用最新的 API 和功能。

升级命令:

pip install --upgrade selenium 

然后就可以继续使用如下代码:

from selenium import webdriver
from selenium.webdriver.chrome.service import Service

service = Service(executable_path='path_to_chromedriver')
driver = webdriver.Chrome(service=service)
pythonCopyEditfrom selenium import webdriver
from selenium.webdriver.chrome.service import Service

service = Service(executable_path='path_to_chromedriver')
driver = webdriver.Chrome(service=service)

✅ 方法二:使用旧版兼容方式(如果不能升级)

如果你的环境限制不能升级 Selenium,则要用旧的写法来初始化 ChromeDriver

from selenium 
import webdriver
driver = webdriver.Chrome(executable_path='path_to_chromedriver')

注意:这在 Selenium 3.x 中是兼容的写法,executable_path 是直接传给 Chrome() 的。


🔍 如何确认当前 selenium 版本

可以在 Python 中运行以下代码查看当前版本:

import selenium 
print(selenium.__version__)

总结:

方案适用场景初始化方式
升级 Selenium 到 v4+推荐,未来兼容性好webdriver.Chrome(service=Service(...))
保持旧版本有环境限制无法升级webdriver.Chrome(executable_path=...)

关注公众号“大模型全栈程序员”回复“小程序”获取1000个小程序打包源码。更多免费资源在http://www.gitweixin.com/?p=2627

发表评论

邮箱地址不会被公开。 必填项已用*标注