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,然后指定路径:
- 先去ChromeDriver官方渠道下载和你Chrome版本(145.0.7632.117)完全匹配的驱动,保存到项目目录(比如命名为
chromedriver_145.exe) - 代码里指定驱动路径:
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安装时,就不会自动升级到最新版本,能保持版本稳定。
如果还有问题,可以再贴一下你的完整代码,我帮你再排查!




