Change:
Describe the bug Chrome and Chromedriver are incompatible on my install. To Reproduce Steps to reproduce the behavior: chrome and chromedriver from nixpkgs using chrome with selenium. this error This version of ChromeDriver only supports Chrome version 78 Metadata Please run and paste the result.
Hello, I'm a bot and I thank you in the name of the community for opening this issue. To help our human contributors focus on the most-relevant reports, I check up on old issues to see if they're still relevant. This issue has had no activity for 180 days, and so I marked it as stale, but you can rest assured it will never be closed by a non-human. The community would appreciate your effort in checking if the issue is still valid. If it isn't, please close it. If the issue persists, and you'd like to remove the stale label, you simply need to leave a comment. Your comment can be as simple as "still important to me". If you'd like it to get more attention, you can ask for help by searching for maintainers and people that previously touched related code and @ mention them in a comment. You can use or on the relevant files to find them. Lastly, you can always ask for help at or at .
It is possible to make your own derivations to solve this (which I’ve done locally), following the instructions from It’s laborious to do so, however, so this would definitely be a welcome option.
Hi, Recently I had this same issue. Google Chrome was updated to version 87 in all channels, but chromedriver was still at version 85. When running my tests from nix-shell environment I got an error message that chromedriver is only compatible with Google Chrome version 85. I think to fix this issue package needs to be updated along with . And to ensure this, we could add a test like but for package. This test would ensure that latest chromedriver can run with latest Google Chrome browser. I see that you guys are maintainers for package. Can you please let me know what needs to be done to address this issue? Thank you in advance!
Ideally would also source which we use to update Chromium and Google Chrome. However, I just tried to update to version (to see if that would work) but that version doesn't seem to be available (yet?): So unfortunately it doesn't look like we could keep them in sync. But maybe that isn't even required and we only need the latest release. I'm not familiar with though. ( maintainers) do you have any insight how this could be solved? Would the latest be compatible with Chrome 87.0.4280.66? And is there a feed/URL to get the latest version programmatically? Updates: Seems like there are separate ChromeDriver releases for every major Chrome/Chromium version: Ok, that should work:
Ok, so I've just opened which should resolve this issue and prevent such problems in the future. / ChromeDriver maintainers: Could you test that PR? I only verified that still builds.
thank you for this pull request, I tested your change and all works good for me. Below are the steps I did to test it from my side: this URL by using sha of your commit: this URL to start a nix-shell environment like this: my tests there, here is some output: From my side I can confirm that your fix is working properly. Thank you so much!

Discussion:
with urlopen(url) as http_response: return http_response.read() <ins> def get_matching_chromedriver(version): # See https://chromedriver.chromium.org/downloads/version-selection build = re.sub('.[0-9]+$', '', version) chromedriver_version_url = f'https://chromedriver.storage.googleapis.com/LATEST_RELEASE_{build}' with urlopen(chromedriver_version_url) as http_response: chromedriver_version = http_response.read().decode() def get_chromedriver_url(system): return f'https://chromedriver.storage.googleapis.com/{chromedriver_version}/chromedriver_{system}.zip' return { 'version': chromedriver_version, 'sha256_linux': nix_prefetch_url(get_chromedriver_url('linux64')), 'sha256_darwin': nix_prefetch_url(get_chromedriver_url('mac64')) } </ins> def get_channel_dependencies(channel): deps = get_file_revision(channel['version'], 'DEPS') gn_pattern = b"'gn_version': 'git_revision:([0-9a-f]{40})'"

continue channel['deps'] = get_channel_dependencies(channel) <ins> if channel_name == 'stable': channel['chromedriver'] = get_matching_chromedriver(channel['version']) </ins> channels[channel_name] = channel

"rev": "e002e68a48d1c82648eadde2f6aafa20d08c36f2", "sha256": "0x4c7amxwzxs39grqs3dnnz0531mpf1p75niq7zhinyfqm86i4dk" } <ins> }, "chromedriver": { "version": "87.0.4280.20", "sha256_linux": "1cpk7mb32z3a7c7cbaaxskpv91il3i8kgsdp2q8zw9w762kql953", "sha256_darwin": "06mx2yk6xy46azvkbyvhqm11prxbh67pfi50fcwxb0zqllbq7scr" </ins> } }, "beta": {

<del> { stdenv, fetchurl, cairo, fontconfig, freetype, gdk-pixbuf, glib , glibc, gtk2, libX11, makeWrapper, nspr, nss, pango, unzip, gconf </del> <ins> { stdenv, fetchurl, unzip, makeWrapper , cairo, fontconfig, freetype, gdk-pixbuf, glib , glibc, gtk2, libX11, nspr, nss, pango, gconf </ins> , libxcb, libXi, libXrender, libXext }: let <ins> upstream-info = (stdenv.lib.importJSON ../../../../applications/networking/browsers/chromium/upstream-info.json).stable.chromedriver; </ins> allSpecs = { x86_64-linux = { system = "linux64"; <del> sha256 = "1cpk7mb32z3a7c7cbaaxskpv91il3i8kgsdp2q8zw9w762kql953"; </del> <ins> sha256 = upstream-info.sha256_linux; </ins> }; x86_64-darwin = { system = "mac64"; <del> sha256 = "06mx2yk6xy46azvkbyvhqm11prxbh67pfi50fcwxb0zqllbq7scr"; </del> <ins> sha256 = upstream-info.sha256_darwin; </ins> }; };

libX11 nspr nss pango libXrender gconf libxcb libXext libXi ]; <del> in stdenv.mkDerivation rec { </del> <ins> in stdenv.mkDerivation rec { </ins> pname = "chromedriver"; <del> version = "87.0.4280.20"; </del> <ins> version = upstream-info.version; </ins> src = fetchurl { url = "https://chromedriver.storage.googleapis.com/${version}/chromedriver_${spec.system}.zip";

''; meta = with stdenv.lib; { <del> homepage = "https://sites.google.com/a/chromium.org/chromedriver"; </del> <ins> homepage = "https://chromedriver.chromium.org/"; </ins> description = "A WebDriver server for running Selenium tests on Chrome"; <ins> longDescription = '' WebDriver is an open source tool for automated testing of webapps across many browsers. It provides capabilities for navigating to web pages, user input, JavaScript execution, and more. ChromeDriver is a standalone server that implements the W3C WebDriver standard. ''; </ins> license = licenses.bsd3; <del> maintainers = [ maintainers.goibhniu maintainers.marsam ]; </del> <ins> maintainers = with maintainers; [ goibhniu marsam primeos ]; # Note from primeos: By updating Chromium I also update Google Chrome and # ChromeDriver. </ins> platforms = attrNames allSpecs; }; }