Skip to content

The open-source selenium-stealth alternative

selenium-stealth still gets downloaded hundreds of thousands of times a month, but its last release was in 2020. It overrides a few values with JavaScript and asks you to type the GPU and platform in by hand. Clearcote generates the whole identity inside the engine, so the values agree with each other and with the network.

What is selenium-stealth?

selenium-stealth is a small Python package that re-implements parts of puppeteer-extra-plugin-stealth for Selenium with Chrome. You call stealth(driver, ...) and it injects scripts that override navigator.webdriver, languages, vendor, platform and the WebGL vendor and renderer. It is MIT-licensed and still popular: about 284,000 PyPI downloads a month.

It is also unmaintained. The last PyPI release (1.0.6) was in November 2020 and the repository has not changed since the end of 2021. The README example no longer runs as written on current Selenium, which removed the executable_path argument, and it pairs platform="Win32" with a WebGL renderer of "Intel Iris OpenGL Engine", a macOS-style string that Chrome on Windows does not report. That's the core problem with hand-assembled personas: each value is set on its own, and nothing checks that they belong to the same machine. It also leaves ChromeDriver itself unpatched; that is what undetected-chromedriver is for.

Clearcote vs selenium-stealth

FeatureClearcoteselenium-stealth
Approach Engine-level C++ patches: native values JavaScript overrides injected by Selenium
Persona coherence Generated from one seed; GPU, platform and fonts agree Typed in by hand, nothing cross-checks them
Detectable seam None: native in every realm Overrides visible via toString and worker re-reads
ChromeDriver artifacts No ChromeDriver: driven over CDP Left in place
TLS / network coherence ClientHello follows the claimed Chrome version Not addressed
Maintenance Active, tracks current Chromium Last release November 2020
Framework Playwright & Puppeteer (Python, Node, .NET) Selenium (Python)
Cost Open build free; latest build free with GitHub; Pro $49/mo Free & open (MIT)

Comparison compiled September 2026. selenium-stealth is open source (mit); details change — check its project for the latest.

Why teams pick Clearcote

No hand-typed GPU strings

selenium-stealth makes you pick a WebGL vendor and renderer yourself. Clearcote derives GPU, platform, fonts and screen from one seed, so they describe a machine that could exist.

Native values

An injected override can be detected by inspecting the function. Clearcote changes the values inside Chromium, so there is no override to find, in the page or in a worker.

Maintained against today's Chrome

Detection moves with every Chrome release. Clearcote ships on the current Chromium; selenium-stealth's evasions date from 2020.

The network layer too

A browser that claims a Chrome version should send that version's TLS handshake. Clearcote keeps them in step.

When selenium-stealth might be the better pick

  • You maintain an old Selenium script that already uses it and only needs navigator.webdriver hidden on a lenient site.
  • You can't change frameworks. If you're staying on Selenium, look at SeleniumBase, which is actively maintained.

FAQ

Is selenium-stealth still maintained?

No. The last release on PyPI is 1.0.6 from November 2020, and the GitHub repository has not been updated since December 2021. It still installs, but its evasions have not kept up with Chrome or with detection.

What should I use instead of selenium-stealth?

If you want to stay on Selenium, SeleniumBase's UC or CDP mode is the maintained option. If you can switch to Playwright or Puppeteer, Clearcote changes the fingerprint in the browser engine instead of overriding it with JavaScript.

Why do the WebGL vendor and renderer values matter?

They are among the most checked fingerprint values, and they have to agree with the platform, the fonts and how the GPU actually renders. A Windows platform with a macOS renderer string, for example, describes a machine that doesn't exist.

Try the open-source Chromium alternative

Free and open source, a drop-in for Playwright & Puppeteer, coherent down to the TLS handshake.

Free for one browser with GitHub. No card.