Chrome 115.0.5790版本下ChromeDriverManager失效问题求助
解决ChromeDriverManager无法找到Chrome 115+版本驱动的问题
核心原因
谷歌从Chrome 115版本开始,将ChromeDriver的分发仓库从原有的storage.googleapis.com迁移到了新的Chrome for Testing镜像站点,旧版本的WebDriverManager仍在使用旧路径,导致无法定位到驱动文件。
优先方案:升级WebDriverManager并适配新版写法
这是最直接的解决方式,能继续保留ChromeDriverManager的自动管理功能:
升级webdriver-manager到最新版本
执行命令:pip install --upgrade webdriver-manager修改代码适配新版本API
Selenium 4.x开始需要使用Service类来管理驱动服务,同时新版WebDriverManager已经适配了新的ChromeDriver仓库地址。修改后的代码如下:import os from selenium import webdriver from selenium.common.exceptions import WebDriverException from selenium.webdriver.chrome.options import Options as ChromeOptions from selenium.webdriver.chrome.service import Service # 新增Service导入 from selenium.webdriver.common.by import By from selenium.webdriver.common.keys import Keys from webdriver_manager.chrome import ChromeDriverManager def __init__(self): self.headless_mode = False def chrome_driver(self): options = ChromeOptions() options.headless = self.headless_mode options.add_argument("--log-level=3") options.add_argument("--start-maximized") options.add_argument('--no-sandbox') options.add_argument('--disable-dev-shm-usage') options.add_experimental_option("prefs", { "download.default_directory": f"D:\\Users\\{os.getlogin()}\\Downloads\\", # 修正冗余的路径写法 "download.prompt_for_download": False, "download.directory_upgrade": True, "safebrowsing.enabled": True }) # 新版写法:使用Service类管理驱动 service = Service(ChromeDriverManager().install()) driver_for_chrome = webdriver.Chrome(service=service, options=options) return driver_for_chrome
临时替代方案:手动指定ChromeDriver路径
如果暂时无法升级依赖包,可以手动下载对应版本的ChromeDriver:
- 下载与你Chrome版本完全匹配的ChromeDriver(注意对应系统架构)
- 将
chromedriver.exe放到项目目录或系统环境变量PATH包含的路径中 - 修改代码直接指定驱动路径:
# 替换原ChromeDriverManager相关代码 driver_for_chrome = webdriver.Chrome(executable_path="path/to/chromedriver.exe", options=options)
内容的提问来源于stack exchange,提问作者Sean Edwards
相关产品推荐
相关产品推荐

