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 500,000 PyPI downloads a month.

It is also unmaintained. The last PyPI release (1.0.6) was in November 2020, and the repository has had no commits since then. 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 Page-script overrides, not applied in workers
ChromeDriver artifacts No ChromeDriver: driven over CDP Left in place
TLS / network coherence ClientHello follows the claimed Chrome version Not addressed
Maintenance Active, follows each Chromium major 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 November 2026. selenium-stealth is open source (mit); details change — check its project for the latest.

Measured: 12 tools on the same 10 sites

We ran the open-source browsers-benchmark harness 5 times, finishing on 27 October 2026. Each tool ran on its own US residential IP, in a different order each run. A pass means the harness's own check for that site found the page itself, not a block or challenge page. Clearcote measured on a Windows desktop (latest build); other tools on a Linux server.

selenium-stealth is not in this benchmark: the harness has no driver for it. The table shows the tools it does support.

Share of page loads that reached the real page, per tool, headed and headless
ToolHeadedHeadless
Clearcote0.63.2 · r5278%39/5080%40/50
Camoufox0.5.8 · v156.0.1-beta.3672%36/5080%40/50
Invisible Playwright0.43.0 · Firefox76%38/5078%39/50
CloakBrowser0.6.474%37/5064%32/50
SeleniumBase (CDP mode)4.49.0 · Chrome74%37/50—
nodriver0.50.6 · Chrome74%37/5040%20/50
Zendriver0.17.1 · Chrome64%32/5060%30/50
tf-playwright-stealth (Firefox)1.2.058%29/5062%31/50
tf-playwright-stealth (Chromium)1.2.056%28/5050%25/50
Playwright (Chromium)1.62.056%28/5030%15/50
Playwright (Firefox)1.62.054%27/5054%27/50
Patchright1.64.3 · Chrome24%12/5026%13/50

Sites: a search results page, a community forum, a software company's site, a luxury retailer, a marketplace product page, a ticketing site, a fashion retailer, a travel booking site, an airline, a social network. This is a snapshot from one network and one week: results move with every release, every proxy and the sites themselves, and no tool loaded every site every time. Raw results (JSON).

Why teams pick Clearcote

No hand-typed GPU strings

selenium-stealth has you pick a WebGL vendor and renderer yourself, or falls back to a fixed Intel default. Clearcote derives GPU, platform, fonts and screen from one seed, so they describe a machine that could exist.

Native values

An injected override has to disguise itself from function inspection, and it isn't applied in Web Workers. 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 follows each new Chromium major; 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 had no commits since then. 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.

How do I scrape a website with Selenium?

Load the page with driver.get(), wait for the content with WebDriverWait, and read it with CSS selectors. The Selenium web scraping guide has a complete Python example, pagination, saving to CSV, and why Selenium scrapers get blocked.

How deep it goes

More than twice the patches of any fork we compared.

Patches compiled into Chromium, by approach. Script-based tools don't change the engine at all.

Stealth plugins

e.g. puppeteer-extra-plugin-stealth

0

Patched drivers

e.g. undetected-chromedriver, nodriver

0

Other Chromium forks

free and paid builds

35–87

Clearcote Pro

r57, Chromium 156

240

Published patch counts, October 2026. The range covers other forks' free and paid builds; Clearcote's is the Pro build.

Test it

365 checks, free, on your own browser

The fingerprint test every Clearcote build is held to. Run it on whatever you use today and compare.

Run the test
Read it

The open build's patches are public

The free open build is BSD-3, reproducible from source and needs no account. The Pro build adds private patches on top.

Open on GitHub
Watch it ship

57 engine releases, 7 Chromium majors

Every patch is carried to each new Chromium. The latest build gets new majors the day they ship.

See the releases

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: GitHub, a card check or a company Google account. Never charged.