运行Selenium脚本提示ChromeDriver与Chrome版本不匹配该如何解决
问题核心原因
报错本质为ChromeDriver版本与本地安装的Chrome浏览器版本不匹配。手动更新驱动后仍报错,大概率是系统环境变量PATH中旧版本ChromeDriver的优先级高于你新下载的版本,脚本运行时调用的仍然是旧版驱动。
可行解决方案
方案1:替换系统旧版ChromeDriver
打开终端执行以下命令,查看当前生效的ChromeDriver路径与版本:# 查看驱动路径 which chromedriver # 查看驱动版本 chromedriver --version确认路径不是你新下载驱动的存放路径后,把你下载的对应93版本的ChromeDriver直接替换上述路径中的旧驱动文件即可。Mac系统下如果提示驱动无法验证,执行命令解除隔离:
xattr -d com.apple.quarantine 你的ChromeDriver绝对路径方案2:代码中直接指定驱动路径
不需要修改系统环境变量,直接在初始化Chrome对象时传入你新下载驱动的绝对路径即可,代码修改如下:browser = webdriver.Chrome(executable_path="你下载的ChromeDriver的完整绝对路径", options=chrome_options)方案3:使用工具自动管理驱动版本
安装webdriver-manager库自动适配对应版本的ChromeDriver,无需手动下载:
首先执行安装命令:pip install webdriver-manager代码修改为:
from selenium import webdriver from webdriver_manager.chrome import ChromeDriverManager chrome_options = webdriver.ChromeOptions() chrome_options.add_argument("--headless") chrome_options.add_argument("--disable-gpu") # 自动安装匹配当前浏览器版本的ChromeDriver,需要指定特定版本可传入version参数,值为本地Chrome版本号即可 browser = webdriver.Chrome(executable_path=ChromeDriverManager().install(), options=chrome_options) try: browser.get("https://www.google.com") print("Page title was '{}'".format(browser.title)) finally: browser.quit()可选方案:升级Chrome浏览器版本
直接将本地Chrome浏览器升级到94及以上版本,也可以匹配你已经下载的94版本ChromeDriver。
内容的提问来源于stack exchange,提问作者Evan Gertis
相关产品推荐
相关产品推荐

