You need to enable JavaScript to run this app.
最新活动
大模型
产品
解决方案
定价
生态与合作
支持与服务
开发者
了解我们

Windows 11下Selenium WebDriver与Chrome版本不兼容问题求助(WebDriver更新快于Chrome)

Windows 11下Selenium WebDriver与Chrome版本不兼容问题求助(WebDriver更新快于Chrome)

我太懂这种版本不兼容的糟心了!尤其是Chrome自动更新慢半拍,WebDriver先更新了,直接卡壳没法用,分享几个亲测有效的解决办法:

一、强制触发Chrome手动更新(最快解决版本匹配)

Windows 11上Chrome自动更新经常会延迟,你可以手动强制检查最新版本,比等自动推送快N倍:

  • 打开Chrome,点击右上角三个点 → 帮助 → 关于Google Chrome
  • 这个页面会强制连接Chrome的更新服务器,直接拉取当前可用的最新版本,不用等15天!
  • 如果还是没搜到更新,可能是网络或地区限制,可以试试换个网络,或者去Chrome官方的离线安装包渠道下载对应WebDriver版本的Chrome安装包(比如你现在需要146版本的Chrome,就找146的离线包手动安装)

二、正确指定与当前Chrome匹配的WebDriver(解决你之前的代码问题)

你之前的代码指定了driver_version="144"但报错说用了146的ChromeDriver,大概率是因为你实际代码里混用了undetected_chromedriver(看错误栈里的undetected_chromedriver!GetHandleVerifier),它会自动替换驱动,覆盖了ChromeDriverManager的配置。

情况1:用标准Selenium的Chrome驱动

如果是用原生Selenium,要明确指定和你当前Chrome完全匹配的驱动版本(你的Chrome是145.0.7632.117,就找对应145.x的ChromeDriver):

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

# 精准指定和Chrome版本一致的驱动版本号
service = Service(ChromeDriverManager(driver_version="145.0.7632.117").install())
browser = webdriver.Chrome(service=service)

情况2:用undetected_chromedriver

如果必须用undetected_chromedriver,需要手动下载对应版本的ChromeDriver,然后指定路径:

  1. 先去ChromeDriver官方渠道下载和你Chrome版本(145.0.7632.117)完全匹配的驱动,保存到项目目录(比如命名为chromedriver_145.exe
  2. 代码里指定驱动路径:
import undetected_chromedriver as uc

options = uc.ChromeOptions()
# 指向你手动下载的对应版本驱动
driver = uc.Chrome(executable_path="./chromedriver_145.exe", options=options)

⚠️ 关键注意:ChromeDriver的主版本必须和Chrome完全一致!比如Chrome是145,就绝对不能用144或146的驱动,差一个版本都不行。

三、长期预防:锁定依赖版本

为了避免以后再遇到突发的版本不兼容,建议在requirements.txt里固定Selenium和webdriver-manager的版本:

selenium==4.21.0
webdriver-manager==4.0.1

这样用pip install -r requirements.txt安装时,就不会自动升级到最新版本,能保持版本稳定。

如果还有问题,可以再贴一下你的完整代码,我帮你再排查!

火山引擎 最新活动