-
Notifications
You must be signed in to change notification settings - Fork 110
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Webdrivers trying to load a Chrome version that doesn't exist #247
Comments
I ran into this as well on both Travis CI and my local. I'm not sure how the version list gets updated, but it appears to be lagging behind the current version since it doesn't contain 115. Guess we'll need to hard-code it to 114 in the meantime. Webdrivers::Chromedriver.required_version = "114.0.5735.90" Note from titusfortner — this is not a long term solution as it will not work for Chrome v116. See #247 (comment) for options |
Related? https://developer.chrome.com/blog/chrome-for-testing/ I wonder if this should be updated to query https://github.com/GoogleChromeLabs/chrome-for-testing#json-api-endpoints |
Yes, I agree this is the issue. According to this page version 115+ is available at that JSON API and version 114 and below use the older download page. |
Also failing with rails 3.1 while deploying to Heroku: /app/vendor/bundle/ruby/3.1.0/gems/webdrivers-5.2.0/lib/webdrivers/network.rb:19:in `get': Net::HTTPClientException: 404 "Not Found" with https://chromedriver.storage.googleapis.com/LATEST_RELEASE_115.0.5790 (Webdrivers::NetworkError) |
Same problem with a Rails 7.0 app running on Heroku CI.
|
PRs welcomed. Or if you are using one of the latest versions of Selenium, you shouldn't need to require this gem any more. 😄 |
This seems to work! thanks @titusfortner 🙇♂️ |
I got Not necessarily a deal-breaker, but worth noting. |
According to the maintainer of the `webdrivers` gem, the gem is no longer needed if we already have selenium-webdriver installed. See titusfortner/webdrivers#247 (comment)
@Judahmeek check to see if you have an old driver on your system. If selenium finds something else on PATH it will use it without updating. The warning messages will be more clear in the next release of Selenium. |
We came across this issue too. For those looking for explicit instructions: We fixed this in our codebase without downgrading |
I tried removing webdrivers gem and only using selenium-webdriver as per @titusfortner suggestion, however still failing with below error . Using selenium-webdriver (= 3.142.6) version
|
@aviralcht Does it work after upgrading the |
Let me try upgrading it to latest version |
Using ruby2.5.5 version, so latest compatible version of @yourivdlans / @titusfortner will this version help in replacing |
@yourivdlans And it turns out that Selenium added support for the new location of v115 after Selenium 4.10 was released, so we need to wait for 4.11 to be released, and there's a few things that still need to be done before we can do that. In the meantime, chromedriver 114 should still work just fine with Chrome 115 even if warnings are displayed. |
Selenium and webdrivers gems both only support versions of Ruby that are not EOL. If you can't update to a supported version of Ruby, you'll likely need to monkey patch or manually put the updated driver in a directory on PATH. |
@aviralcht it needs to be Selenium 4.6 or greater, but best experience with Selenium Manager will be using the latest version of Selenium. |
@titusfortner Got it, thanks! |
Thanks, everyone for the quick replies! It looks like the TL;DR for solutions is either to:
@titusfortner Since we have two workarounds, I think we can close this, unless you think there should be code changes to |
I think that Selenium Manager can now do everything that this gem does (and in a better way), but there are likely going to be edge cases or things that need to be addressed. The real problem is that the second option will break when Chrome v116 is released. By default chromedriver only works for the current and one future version. I suspect there will be people that can't/don't want to update to the latest version of Selenium who want to test Chrome v116+. For those people this gem will likely need to be updated to support it. It probably isn't even that hard, I just don't have bandwidth right now for it... |
For a little extra context, the Chrome team updated the ChromeDriver release process, and isn't publishing new versions to the old location:
|
Yeah the new Chrome for Testing is going to make it easier to do some cool things. Selenium is eventually going to allow doing automatic browser downloads as well as automatic driver downloads based on what browser version gets passed to the Options class. |
Related to updating selenium-webdriver: - titusfortner/webdrivers#247 (comment) Refs: #4176
This worked for me. I for some reason still had the |
This worked for me, deleted the Capybara.register_driver :headless_chrome do |app|
options = Selenium::WebDriver::Chrome::Options.new
options.add_option('w3c', false)
%w[headless window-size=1280x1280 disable-gpu].each { |arg| options.add_argument(arg) }
Capybara::Selenium::Driver.new(app, browser: :chrome, options: options)
end |
@pramodshinde
|
Thanks, I will try without these options, and update 👍 |
Feature specs are breaking on new machines, due to a change in the endpoint of Chrome webdrivers. The webdrivers gem have solved this upstream [0], so simply updating the dependency fixes the problem. [0] titusfortner/webdrivers#247
Feature specs are breaking on new machines, due to a change in the endpoint of Chrome webdrivers. The webdrivers gem have solved this upstream [0], so simply updating the dependency fixes the problem. [0] titusfortner/webdrivers#247
For anyone else stuck on Ruby 2.7 and Selenium 4.9 - we ran into an issue this week where selenium-manager could no longer find the right driver (maybe because chrome 120 is more than 5 versions ahead of 114 now 🤷 ). So we ended up adding back the webdrivers gem, v5.x, with the |
Selenium 4.11+ is needed to access the chrome for testing repository. You should get an error if the browser is 2+ versions ahead of the driver |
What @kmazanec suggested work also for my rails app (Ruby 2.7, selenium-webdriver (4.9.0), webdrivers (5.3.1)). What i additionally needed to do was: WebMock.disable_net_connect!(
allow_localhost: true,
allow: [
'https://storage.googleapis.com',
'https://googlechromelabs.github.io'
]
) As the app is using webmock. |
We have been having issues with the `webdrivers` gem: ``` Webdrivers::VersionError: Unable to find latest point release version for 124.0.6367. 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 ``` This commit replaces `webdrivers` with `selenium-webdriver` which does the same things "better". Ref: - titusfortner/webdrivers#247
We have been having issues with the `webdrivers` gem: ``` Webdrivers::VersionError: Unable to find latest point release version for 124.0.6367. 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 ``` This commit replaces `webdrivers` with `selenium-webdriver` which does the same things "better". Ref: - titusfortner/webdrivers#247
The
|
Resolves issues mentioned here: titusfortner/webdrivers#247 https://umd-dit.atlassian.net/browse/LIBITD-2506
Summary
Apologies if this is a dupe of #180 but when running CI on Travis, tests are failing with
Webdrivers::VersionError: Unable to find latest point release version for 115.0.5790
- that version does not appear to exist yet (latest is 114)Debug Info
Expected Behavior
Webdrivers should download latest available version
Actual Behavior
Test fails with the error shown above. This works locally on Apple silicon (I deleted my cached browsers under
~/.webdrivers
and ran tests successfully), but not on Travis.Thank you!
The text was updated successfully, but these errors were encountered: