Unexpected error creating WebSocket DevTools session

OpenQA.Selenium.WebDriverException:“Unexpected error creating WebSocket DevTools session.”

WebDriverException: DevTools version is not in the supported range. Desired version=122, range=5. Supported versions: 114, 113, 112, 85

这个错误的核心原因是 Selenium 版本与 Chrome 浏览器版本不兼容,具体来说是 Selenium 内置的 DevTools 协议版本与 Chrome 浏览器的 DevTools 版本不匹配(你的 Chrome 是 122 版本,但 Selenium 只支持 114 及以下版本)。

解决方法:升级 Selenium 到与 Chrome 122 兼容的版本

Selenium 对 Chrome DevTools 版本的支持是随版本更新的,Chrome 122 对应的 Selenium 最低版本为 4.18.1(或更高版本)。你需要将 Selenium 升级到足够新的版本,以支持 Chrome 122 的 DevTools 协议。

具体步骤:

  1. 卸载旧版本 Selenium
    在 Visual Studio 的「NuGet 包管理器」中,卸载当前项目中的 Selenium.WebDriverSelenium.Chrome.WebDriver 包。

  2. 安装兼容版本
    安装 4.18.1 及以上版本Selenium.WebDriver 和对应版本的 Selenium.Chrome.WebDriver

    • 推荐安装最新稳定版(如 4.21.0 或更高),确保对 Chrome 122 的完全支持。
    • 安装命令(Package Manager Console):
      Install-Package Selenium.WebDriver -Version 4.21.0
      Install-Package Selenium.Chrome.WebDriver -Version 4.21.0
      
  3. 验证版本匹配
    确保:

    • Chrome 浏览器版本:122.x
    • Selenium.WebDriver 版本:≥4.18.1
    • ChromeDriver 版本:与 Chrome 122 匹配(122.x)

补充说明:

  • DevTools 版本兼容性:Selenium 的 DevTools 支持依赖于浏览器版本,每个 Selenium 版本会包含对特定范围 Chrome 版本的支持。旧版本 Selenium 不认识新版本 Chrome 的 DevTools 协议,因此会报“版本不在支持范围内”的错误。
  • 升级的必要性:低版本 Selenium(如 4.14 及以下)不支持 Chrome 120+ 的 DevTools 协议,必须升级到 4.18.1 及以上版本才能解决此问题。

升级完成后,重新运行代码,WebSocket DevTools 会话创建失败的问题会被解决,Selenium 可以正常与 Chrome 122 的 DevTools 交互,从而拦截 XHR 请求。