Chromedriver 版本 114 在 macOS 更新到 ventura (ruby/rails) 后尝试使用当前的 chrome 浏览器 (118)

Chromedriver version 114 trying to use current chrome browser (118) after macOS update to ventura (ruby/rails)

提问人:Frank 提问时间:10/28/2023 最后编辑:Frank 更新时间:11/2/2023 访问量:892

问:

我最近将我的操作系统更新为 ventura(就在它更改为 sonoma 之前),从那时起,由于以下错误,我无法将 rspec 用于任何使用 Capybara 的规范:

Selenium::WebDriver::Error::SessionNotCreatedError:
  session not created: This version of ChromeDriver only supports Chrome version 114
  Current browser version is 118.0.5993.117 with binary path /Applications/Google Chrome.app/Contents/MacOS/Google Chrome

在更新之前,这从来都不是问题。我们的应用程序正在使用 Rails 6.0.6.1 和 ruby 2.6.6p146

我正在努力获得 ruby/rails 升级,但与此同时我无法使用 selenium-webdriver 4.11+ gem,我们目前停留在 3.142.7,因此我们被困在 114.0.5735.90 的最大 chromedriver 版本

我已经对此进行了广泛的研究,我的 chromedriver 已正确安装和配置,问题是它正在尝试使用我安装的 chrome 版本,目前是 118.0.5993.117 而不是相应的 114 版本应该和以前做过。

我知道解决方案是升级 rails/ruby/gems,相信我,我正在努力,但由于这是一个定制的问题,我无法在任何地方找到解决方案,我找到的一切都是几年前的,并且与 chromedriver 版本有关从 114+ 开始的变化,但在那之后,selenium 4.11 为大多数人否定了这个问题。

我已经尝试了我能想到的一切,我知道您无法回滚您的 chrome 版本,并且我彻底确认 chromedriver 工作正常(以及应用程序中的所有内容,它已经工作了多年)。我无法找到任何方法来指定它应该使用的 chrome 浏览器版本,gems 应该为我处理这个问题,并且不需要任何配置。selenium-webdriverwebdrivers

我确实尝试在这里下载我的特定版本的 chrome,但这不起作用,我认为这可能是 selenium 114+ 正在使用的 4.11+ 选项,不适用于 <115

编辑:我尝试通过brew更新我的chromedriver版本,但收到以下错误消息:

Webdrivers::VersionError:
            Unable to find latest point release version for 118.0.5993. You appear to be using a non-production version of Chrome. Please set `Webdrivers::Chromedriver.required_version = <desired driver version>` to a known chromedriver version: https://chromedriver.storage.googleapis.com/index.html

据我所知,这是 selenium 4.11 之前和之后的全部区别,前者查看该索引以找到正确的版本(并且不会找到大于 114 的任何版本),后者获得当前版本。如果有一种方法可以告诉下面 selenium 4.11 在上面使用 chromedriver 114 请告诉我,当我手动设置所需的版本时,我得到:

Webdrivers::NetworkError:
              Net::HTTPServerException: 404 "Not Found" with https://chromedriver.storage.googleapis.com/118.0.5993.70/chromedriver_mac64.zip

换句话说,它(WebDrivers Gem)仍在查看新版本的旧位置。

Ruby-on-Rails Ruby Google-chrome 硒-webdriver webdrivers-gem

评论

0赞 Mike Szyndel 10/31/2023
Chromedriver 版本不应依赖于 selenium 版本,您可以独立更新它。您也可以将 chromedriver 安装为独立的二进制文件,即。通过酿造
0赞 Beartech 10/31/2023
每次我不小心更新 chrome 时,我都会得到这个。只需通过 brew 更新 Chromedriver。这是一个超级简单的修复。
0赞 Frank 10/31/2023
您确定您使用的是 < selenium 4.11 吗?当我尝试时,我得到:''' Webdrivers::VersionError:找不到 118.0.5993 的最新发布版本。您似乎使用的是非正式版 Chrome。请将 Webdrivers::Chromedriver.required_version = <所需的驱动程序版本>设置为已知的 chromedriver 版本:chromedriver.storage.googleapis.com/index.html ''' 这就是我所理解的问题,只有 selenium 4.11+ 知道大于 114 的版本,该链接最多只列出 114

答:

-1赞 Grant Kimball 11/2/2023 #1

试用 selenium 4.9.1 并将 chromedriver 更新到 119.0.0

更新后这对我有用。

评论

0赞 Frank 11/2/2023
感谢您的回复,不幸的是,我的公司正在拖延升级到 Ruby 2.6.6 以上的脚步,所以我无法使用高于 4.1.0 的硒