Python Selenium中WebDriver Manager无法找到Google Chrome问题
问题根因
该报错和Selenium、webdriver-manager的安装版本无直接关联,核心是webdriver-manager(日志中简称WDM)的默认检测逻辑未读取到本机Google Chrome的安装位置与版本号,从输出日志可以看到,WDM直接调用了本地缓存的102版本旧驱动,未完成驱动与当前浏览器版本的匹配校验。常见触发场景包括:
- Chrome安装时未写入系统注册表或系统环境变量,WDM默认扫描路径无法定位程序
- Chrome被安装在非系统默认的自定义目录,或是使用了第三方修改版Chrome
- 本地安装的是Beta、Dev、Canary等非稳定渠道的Chrome,WDM默认的稳定版检测规则无法识别
- WDM本地缓存的旧驱动与当前Chrome版本差距过大,检测流程异常中断后直接读取缓存
可落地解决方案
按操作成本从低到高尝试即可:
- 显式指定Chrome二进制文件路径
初始化驱动前通过Chrome Options配置手动传入chrome.exe的完整路径,跳过WDM的自动扫描逻辑,代码示例:from selenium import webdriver from selenium.webdriver.chrome.service import Service from webdriver_manager.chrome import ChromeDriverManager from selenium.webdriver.chrome.options import Options chrome_opts = Options() # 替换为你本机chrome.exe的实际路径,可通过右键Chrome快捷方式-属性-目标栏获取 chrome_opts.binary_location = r"C:\Program Files\Google\Chrome\Application\chrome.exe" driver = webdriver.Chrome( service=Service(ChromeDriverManager().install()), options=chrome_opts ) - 清理WDM旧缓存重新拉取驱动
日志中显示WDM读取的是缓存的102版本驱动,若你本机Chrome版本远高于该版本,版本不匹配也会导致运行异常。直接删除路径C:\Users\你的用户名\.wdm下的所有文件,重新运行代码,WDM会自动重新拉取对应版本的驱动。 - 手动指定匹配的驱动版本
如果你已经确认本机Chrome的完整版本号(可打开Chrome-设置-关于Chrome查看),可以直接给ChromeDriverManager传入对应版本号,跳过自动版本检测步骤,代码示例:# 替换为你自己的Chrome对应驱动版本 driver = webdriver.Chrome( service=Service(ChromeDriverManager(driver_version="128.0.6613.120").install()) )
补充:如果使用的是64位Windows系统,Chrome默认安装路径可能是
C:\Program Files (x86)\Google\Chrome\Application\chrome.exe,查找路径时注意区分。
内容的提问来源于stack exchange,提问作者Christopherus
相关产品推荐
相关产品推荐

