{"id":18676625,"url":"https://github.com/hitchdev/hitchchrome","last_synced_at":"2026-04-13T00:41:35.585Z","repository":{"id":95872613,"uuid":"279425222","full_name":"hitchdev/hitchchrome","owner":"hitchdev","description":"Build and use a fresh, working version of chrome for use with selenium and chromedriver","archived":false,"fork":false,"pushed_at":"2020-09-07T23:11:26.000Z","size":59,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-06-15T00:36:54.662Z","etag":null,"topics":["chrome","chromedriver","chromium","selenium"],"latest_commit_sha":null,"homepage":"https://hitchdev.com/hitchchrome","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/hitchdev.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE.txt","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2020-07-13T22:31:44.000Z","updated_at":"2020-09-07T23:11:24.000Z","dependencies_parsed_at":null,"dependency_job_id":"f9df3d8d-02aa-491d-8bde-eacfd69fb6c7","html_url":"https://github.com/hitchdev/hitchchrome","commit_stats":null,"previous_names":[],"tags_count":11,"template":false,"template_full_name":null,"purl":"pkg:github/hitchdev/hitchchrome","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hitchdev%2Fhitchchrome","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hitchdev%2Fhitchchrome/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hitchdev%2Fhitchchrome/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hitchdev%2Fhitchchrome/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/hitchdev","download_url":"https://codeload.github.com/hitchdev/hitchchrome/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hitchdev%2Fhitchchrome/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":31735541,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-12T22:19:12.206Z","status":"ssl_error","status_checked_at":"2026-04-12T22:18:33.088Z","response_time":58,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.6:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["chrome","chromedriver","chromium","selenium"],"created_at":"2024-11-07T09:30:02.502Z","updated_at":"2026-04-13T00:41:35.568Z","avatar_url":"https://github.com/hitchdev.png","language":"Python","readme":"# HitchChrome\n\nIf you have used python with selenium more than a small amount you\nmay have run into a problem caused by one of these three not\nbeing compatible with one or more of the others:\n\n* The browser version.\n* The selenium driver version.\n* The selenium version.\n\nThis package is a way to install all three of these *together*\nto avoid this problem not only when you first set selenium up\nbut also to prevent this scenario, which has happened to me:\n\n1. You've got a big release planned for tomorrow.\n2. Google chrome/chromium is upgraded by your OS or inside your docker container somehow.\n3. Your regression test suite breaks because the new version of the browser is incompatible and your tests break.\n4. You're up all night trying to fix it.\n\nHitchChrome is part of the [hitchdev framework](http://hitchdev.com).\n\nPlease note that this package is intended FOR TESTING ONLY. The\nbrowser does NOT receive security updates and is potentially unsafe\nif used to browse the open web.\n\n## How?\n\nFirst, build into a directory of your choice:\n\n```python\nfrom hitchchrome import ChromeBuild\n\nchrome_build = ChromeBuild(\"./chrome84\", \"84\")\nchrome_build.ensure_built()\n```\n\nThen use, either with GUI:\n\n```python\ndriver = chrome_build.webdriver()\ndriver.get(\"http://www.google.com\")\ndriver.quit()\n```\n\nOr headless:\n\n```python\ndriver = chrome_build.webdriver(headless=True)\ndriver.get(\"http://www.google.com\")\ndriver.quit()\n```\n\nYou can also add chrome options arguments like so:\n\n```python\ndriver = chrome_build.webdriver(\n    headless=True,\n    arguments=[\n        \"--window-size=1024,768\",\n        \"--disable-dev-shm-usage\",\n        \"--no-sandbox\",\n    ]\n)\n```\n\nOr, you can grab the binary locations for use elsewhere:\n\n```python\nprint(chrome_build.chrome_bin)\nprint(chrome_build.chromedriver_bin)\n```\n\n\n## Package Status\n\n* Works with chrome versions 80 - 84.\n\n## Why not X?\n\n* Docker. Either you run the browser headless or you will potentially spend more time trying to get it to work than it took me to build this package. That said, you could potentially run this package in docker (see caveats below though).\n* pyderman - only downloads chromedriver. Unless all three versions are controlled and kept in sync (browser, driver, selenium), something will likely get out of sync eventually.\n* chromedriver-binary -- same. Also, you have to manually update it in your requirements.txt when your OS upgrades chrome or chromium or you want to upgrade selenium. I was using this when I decided to write this package.\n\n## Caveats\n\n* Requires aria2 to be installed (to download). You will need to \"apt-get install aria2\" or \"brew install aria2\" or equivalent.\n* Avoid using this package for regular browsing and/or scraping. It fixes the version of chromium which does NOT receive security updates. If you get hacked because of this package that is on you. This package comes with NO warranty, implied or otherwise. Use entirely at your own risk. It is suggested that it be used solely for testing your OWN code.\n* This package fixes the version of selenium in setup.py. This is done deliberately to ensure that the version being used has been tested with the version of chromium/chromedriver downloaded. If you have a later version of selenium in a requirements file or as a dependency of other packages it may conflict with this one.\n\n## Docker caveats\n\n* ensure_built() will download and install chromium + driver the first time it is run and use it subsequent times it is run. If you run this in a docker container, unless you run it during the build step, it will try to download chrome (~150MB) *each time you run it*. It'll work, but that will get annoying quickly.\n* If you use this package headless, inside a docker container, the user must not be root (i.e. default user). Chrome will refuse to run.\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fhitchdev%2Fhitchchrome","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fhitchdev%2Fhitchchrome","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fhitchdev%2Fhitchchrome/lists"}