初学Selenium遇报错:__init__() got an unexpected keyword argument 'service'
解决Selenium中
__init__() got an unexpected keyword argument 'service'报错 错误原因
这个报错是因为你当前使用的Selenium版本不支持service参数:Selenium 4.x才引入Service类来管理驱动服务,而Selenium 3.x的webdriver.Chrome()构造函数仅支持executable_path参数直接传入驱动路径。
解决方案
方案1:适配Selenium 3.x版本
直接修改代码,去掉Service相关逻辑,将驱动路径通过executable_path参数传入:
import pandas as pd from selenium import webdriver from selenium.webdriver.common.by import By path = r'/Users/ashleyrabanales/Desktop/chromedriver' driver = webdriver.Chrome(executable_path=path) driver.get('https://estimize.com/')
方案2:升级到Selenium 4.x版本并规范使用
- 先升级Selenium到最新版本:
pip install --upgrade selenium
- 升级后可以继续使用
Service类,Selenium 4.6+版本甚至无需手动指定驱动路径(框架会自动查找匹配的ChromeDriver):
import pandas as pd from selenium import webdriver from selenium.webdriver.common.by import By from selenium.webdriver.chrome.service import Service # 自动查找驱动(推荐) driver = webdriver.Chrome(service=Service()) # 若需手动指定驱动路径,保留原逻辑即可 # path = r'/Users/ashleyrabanales/Desktop/chromedriver' # driver_service = Service(executable_path=path) # driver = webdriver.Chrome(service=driver_service) driver.get('https://estimize.com/')
内容的提问来源于stack exchange,提问作者outofthereality
相关产品推荐
相关产品推荐

