invisible_selenium
Selenium's API on a patched Firefox with a deterministic stealth profile. Change the import, keep the script.
uv venv
uv pip install invisible-selenium
uv run invisible-selenium fetch
Requires Python 3.11 or newer. Windows x86_64 and ARM64 (the x86_64 engine, under Windows' own emulation), Linux x86_64 and arm64.
from invisible_selenium import webdriver
from invisible_selenium.webdriver.common.by import By
from invisible_selenium.webdriver.support.ui import WebDriverWait
from invisible_selenium.webdriver.support import expected_conditions as EC
driver = webdriver.Firefox(seed=42)
driver.get("https://example.com")
WebDriverWait(driver, 10).until(EC.element_to_be_clickable((By.TAG_NAME, "a"))).click()
driver.quit()
driver = webdriver.Firefox(
seed=42, # same seed, same fingerprint
proxy={"server": "socks5://host:1080", "username": "u", "password": "p"},
headless=True, # hidden desktop, real rendering
profile_dir="./profile", # cookies and storage survive the run
)
git clone https://github.com/feder-cr/invisible_selenium && cd invisible_selenium
uv venv && uv pip install -e ".[dev]"
uv run pytest -q # unit
uv run pytest -q -m e2e # against the real browser
Release files for invisible-selenium 0.1.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| invisible_selenium-0.1.0.tar.gz | 333.9 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| invisible_selenium-0.1.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 601.3 kB
Release files / invisible_selenium-0.1.0.tar.gz
| Download URL | invisible_selenium-0.1.0.tar.gz |
|---|---|
| Size | 333.9 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
f472fad83c47de3a16f2b218d2104d1cc3495fd5a8948c87d5c22b6c238cabf5
|
|
BLAKE2b-256 checksum How to use checksums |
3f64408bfc09518e06c9840c6aec51b44a3056571c89847be4091f0252a159c6
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Sep 25, 2026.
Transparency logRelease files / invisible_selenium-0.1.0-py3-none-any.whl
| Download URL | invisible_selenium-0.1.0-py3-none-any.whl |
|---|---|
| Size | 267.4 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
e5d2a5efeb2c3a5f03a808101153fe87a825fcf68df8c4f4908f4b6a399076c6
|
|
BLAKE2b-256 checksum How to use checksums |
d68a6a8a24e1374e30b86d37438e371c027784fcbe4d585d504802fef63f4e4b
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Sep 25, 2026.
Transparency log