selenium-stealth
Trying to make python selenium more stealthy.
What it is and what it does
selenium-stealth is a Python wrapper around Selenium WebDriver that injects JavaScript into Chrome to mask signs of automation. It modifies browser properties—user agent, language, platform, WebGL vendor, and renderer—to make a Selenium-driven Chrome instance appear like a normal user browser rather than a bot. The package is a Python port of the JavaScript puppeteer-extra-plugin-stealth library.
You pass your Selenium Chrome driver to the stealth() function, which configures it with spoofed browser attributes and JavaScript patches. The goal is to pass bot-detection tests and allow tasks like Google account login or maintaining a normal reCAPTCHA v3 score. However, the package has been abandoned since late 2020 and receives no updates, so its effectiveness against modern detection systems is uncertain.
Use it for:
- Automate Google account login or other services that block Selenium-driven browsers.
- Scrape websites that use bot-detection JavaScript to block automated access.
- Maintain a normal reCAPTCHA v3 score when running Selenium automation.
- Pass public bot-detection tests (e.g., bot.sannysoft.com) with a headless or headful Chrome driver.
- Bypass browser-based fingerprinting that flags Selenium automation signals.
Worth the install?
AI-flagged interpretation of the facts on this page — verify before relying
Modifies a Selenium Chrome WebDriver to evade bot-detection mechanisms by injecting JavaScript that masks automation signals.
No. While the package has low install friction and a permissive license, it is abandoned (last update 2021-12-30, no releases since 2020-11-05) and bot-detection techniques have evolved significantly since then. Installing it risks wasting time on evasion methods that no longer work. Consider it only if you are certain the specific detection bypass it provides still works against your target, and be prepared to maintain or fork the code yourself.
Install
selenium-stealth on PyPI
pip
pip install selenium-stealthuv
uv add selenium-stealthpoetry
poetry add selenium-stealthInstalling selenium-stealth
Before you install
Low install friction—pure Python wheel with a single runtime dependency on selenium. However, the package is abandoned: last commit was 2021-12-30 and no releases since 2020-11-05. Maintenance status poses a risk if Selenium or detection-evasion techniques evolve.
License in practice
MIT license (permissive). You may use, modify, and distribute this package freely, including in commercial projects, with minimal restrictions.
Quickstart
from selenium import webdriver
from selenium_stealth import stealth
options = webdriver.ChromeOptions()
driver = webdriver.Chrome(options=options)
stealth(driver, languages=["en-US", "en"], vendor="Google Inc.", platform="Win32")
driver.get("https://example.com")
Requires a Chrome WebDriver executable and Chrome browser installed; only supports Chrome, not Firefox or other browsers.
Verify before relying
- Whether evasion techniques remain effective against current bot-detection systems (package has not been updated since 2020).
- Compatibility with recent Selenium versions and Chrome/Chromium releases.
- Whether the injected JavaScript stealth passes still work against evolving detection methods.
Package facts
| License | not declared (permissive) |
| Python support | supports the current Python release (>=3, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*) |
| Install friction | low — pure-Python wheel |
| Runtime dependencies | 1 — selenium |
| Maintenance | abandoned — 2,108 days since the last release |
| Last repo commit | |
| First released | |
| Downloads | 300,056/month — #7,848 on PyPI (30-day window, as of 2026-08-14) |
| Known vulnerabilities | none known (OSV.dev, checked 2026-08-14) |
Evidence: selenium_stealth-1.0.6-py3-none-any.whl
Tags
More Software Development packages
Provides backported and experimental type hints…
permissive · top 100 on PyPI
numpyNumPy provides an N-dimensional array object…
permissive · top 100 on PyPI
fastapiFastAPI is a Python web framework for building…
permissive · top 100 on PyPI
annotated-docProvides a way to document function parameters,…
permissive · top 100 on PyPI
typerTyper builds command-line applications from…
permissive · top 1,000 on PyPI
distlibDistlib provides low-level packaging utilities…
permissive · top 1,000 on PyPI
seleniumbaseSeleniumBase is a browser automation framework…
permissive · top 5,000 on PyPI
undetected-chromedriverPatches Selenium's Chrome WebDriver to avoid…
copyleft · top 5,000 on PyPI
tf-playwright-stealthPatches Playwright to evade bot-detection…
permissive · top 15,000 on PyPI
playwright-stealthApplies evasion techniques to Playwright…
permissive · top 5,000 on PyPI
seleniumSelenium provides Python bindings to automate…
permissive · top 1,000 on PyPI
axe-selenium-pythonIntegrates aXe accessibility testing with…
copyleft · top 15,000 on PyPI
selenium-wireExtends Selenium's Python bindings to…
permissive · top 5,000 on PyPI
seletoolsProvides helper functions for Selenium…
permissive · top 15,000 on PyPI
cloakbrowserLaunches a stealth Chromium browser that evades…
permissive · top 15,000 on PyPI
pydoll-pythonPydoll automates Chromium-based browsers via…
unclear · top 15,000 on PyPI