Skip to main content

A Firefox Selenium WebDriver that patches the browser to avoid detection. Bypasses services such as Cloudflare, Distil Networks, and more. Ideal for web scraping, automated testing, and bot development without getting detected.

Project description

Undetected GeckoDriver

Undetected-geckodriver is a patching tool that removes the webdriver property directly from the Geckodriver binary

This project is forked from Bytexenon's project by the same name after she archived her version, and is primarily maintained so the archival efforts of the Stack Exchange data dump can continue without Cloudflare outright blocking the archival.

Undetected geckodriver is not designed to bypass all of Cloudflare on its own; you still need to implement manual captcha stuff on your end if you get hit by a CF captcha wall. This tool exists so those captcha walls, if/when they're hit, aren't forced infinite bot check wall that redirects back to itself. Some sites, like Stack Exchange, have Cloudflare configured so aggressively that running into it is a guarantee; whether that wall can be bypassed with or without human supervision, however, seems to be down to the navigator.webdriver attribute.

There are a lot more things that can contribute to hard Cloudflare blocks, but this webdriver at least ensures the webdriver isn't the problem.

Installation

You can install the package via pip:

pip install undetected-geckodriver-lw

Or you can install it from source:

git clone https://github.com/LunarWatcher/undetected_geckodriver
cd undetected_geckodriver
pip install .

Supported operating systems

Only Windows and Linux are supported. macOS is not supported at this time, due to Crapple being crap to work with, it refusing all attempts to debug via Actions, and the only remaining option being to buy hardware for nearly or over 2000 EUR for enough access to debug a relatively basic file-related issue that still requires more hands-on access.

Pull requests making it work are welcome, and the only way it will be supported.

Usage

Since Undetected GeckoDriver acts as an interface for Selenium, you can use it the same way you would use Selenium.

You can integrate Undetected GeckoDriver into your existing Selenium code by simply replacing the selenium.webdriver.Firefox imports with undetected_geckodriver.Firefox.

Initialising the driver is done with:

from undetected_geckodriver import Firefox

driver = Firefox()

Everything else is fully compatible with Selenium. For general selenium usage instructions, see Selenium's own documentation

Requirements

  • Firefox
  • Python >= 3.6
  • pip3 install -r requirements.txt

License

This project is licensed under the MIT License - see the LICENSE file for details.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

undetected_geckodriver_lw-2.0.0rc1.tar.gz (8.8 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

undetected_geckodriver_lw-2.0.0rc1-py3-none-any.whl (8.1 kB view details)

Uploaded Python 3

File details

Details for the file undetected_geckodriver_lw-2.0.0rc1.tar.gz.

File metadata

File hashes

Hashes for undetected_geckodriver_lw-2.0.0rc1.tar.gz
Algorithm Hash digest
SHA256 1238469f682c69b3ae4297745277318f8f244c47d42c13596c728562269370ab
MD5 9db8c4a24e5e9ea55b0785e126c313ba
BLAKE2b-256 ef3a34c48331297cedfc9113b0ab2aaaaa3fbf3f0fd6542904e8f0e177cd624c

See more details on using hashes here.

File details

Details for the file undetected_geckodriver_lw-2.0.0rc1-py3-none-any.whl.

File metadata

File hashes

Hashes for undetected_geckodriver_lw-2.0.0rc1-py3-none-any.whl
Algorithm Hash digest
SHA256 32664687c7028c6e29c58674ded6936173db35abd72567e19a26e8fafdf364ee
MD5 0648f20dd405c6b311187471329cd5dc
BLAKE2b-256 9cbb3d3e103f82dc16e52f1152d97d10df387e8f3b8b48ae2aa1e19efd6866c8

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page