Python报错:TypeError: init() got an unexpected keyword argument ‘executable_path’
一、问题
运行了很久以前的代码,报错,把各项配置都更新后还是报错
这是报错代码
from selenium.webdriver.common.by import By
print("Selenium version:", selenium.__version__)
from selenium.common.exceptions import TimeoutException
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC
chromedriver_path=r'C:\Program Files\Google\Chrome\Application\chromedriver.exe';
browser = webdriver.Chrome(executable_path='C:\Program Files\Google\Chrome\Application\chromedriver.exe')
百度说的原因是Selenium、谷歌浏览器、chromedriver版本对应不上,
1、查看Selenium 版本,最新版4.13.0
2、查看谷歌浏览器版本,最新版本 117.0.5938.92
设置–>关于
3、chromedriver版本要和谷歌版本对应上,对应版本: 117.0.5938.92
解决
问题来了都是最新版本为什么还报错,搞了很久是因为
在 selenium 的 ‘3.141.0’ 及以上版本中,你应该使用 ‘service’ 参数而不是 ‘executable_path’ 来指定 chromedriver 的位置。
修改后的代码如下:
import selenium
from selenium import webdriver
from selenium.webdriver.chrome.service import Service
service = Service('/path/chromedriver')
driver = webdriver.Chrome(service=service)
# 打开xxx网站
driver.get('https://www.xxx.com')
完成!!!