ChromeDriver版本匹配异常求助:报错仅支持未发布的Chrome 135
- Chrome浏览器版本:134.0.6998.178
- 尝试过的ChromeDriver版本:134.x、132.x
- 使用工具:Selenium C# + WebDriver Manager(拒绝硬编码驱动路径)
- 核心错误:无论切换哪个旧版本ChromeDriver,均弹出错误:
System.InvalidOperationException : session not created: This version of ChromeDriver only supports Chrome version 135
Current browser version is 134.0.6998.178 with binary path C:\Program Files\Google\Chrome\Application\chrome.exe (SessionNotCreated) - 已做无效排查:清除缓存、删除所有chromedriver.exe文件、结束chromedriver进程、删除项目bin文件夹、重建项目、重启电脑
- 限制条件:Chrome 135版本暂未开放下载
强制WebDriver Manager指定对应版本的ChromeDriver
WebDriver Manager默认会自动检测"最新兼容版本",但可能因Chrome预发布版本的检测逻辑出错,需手动指定与Chrome完全匹配的版本。在代码中初始化驱动时明确指定版本号:using WebDriverManager; using WebDriverManager.DriverConfigs.Impl; // 指定与Chrome版本完全一致的ChromeDriver版本 new DriverManager().SetUpDriver(new ChromeConfig(), "134.0.6998.178"); var driver = new ChromeDriver();清理WebDriver Manager本地缓存
WebDriver Manager会将下载的驱动存在本地缓存目录,若缓存了错误的135版本驱动,需手动删除:- Windows缓存路径:
C:\Users\<你的用户名>\.cache\selenium - 删除该目录下所有与chromedriver相关的文件夹和文件,重新运行项目让管理器重新下载指定版本驱动。
- Windows缓存路径:
检查并调整WebDriver Manager版本
部分旧版本WebDriver Manager存在版本检测bug,会错误拉取更高版本驱动:- 通过NuGet包管理器将
WebDriverManager更新到最新稳定版;若最新版仍有问题,可降级到5.x系列等已知稳定版本。
- 通过NuGet包管理器将
验证实际加载的ChromeDriver版本
在代码中添加日志,确认是否真的加载了指定版本:var driver = new ChromeDriver(); Console.WriteLine($"当前ChromeDriver版本:{driver.Capabilities.GetCapability("chrome.driverVersion")}");若输出仍为135版本,说明配置未生效,需重新检查缓存或配置逻辑。
应急方案:临时手动指定驱动路径
若上述方法均无效,可临时绕过WebDriver Manager测试:
手动下载与Chrome 134.0.6998.178匹配的ChromeDriver,代码中指定路径:var driverService = ChromeDriverService.CreateDefaultService(@"C:\存放驱动的路径"); var driver = new ChromeDriver(driverService);若此方法正常运行,说明问题确实出在WebDriver Manager的版本检测或缓存机制上,可针对性排查。
内容的提问来源于stack exchange,提问作者Kahn

