Report #2382
[tooling] Puppeteer/Playwright/Selenium detected by bot protection despite stealth plugins
Use nodriver, a Python CDP client that automates a normal Chrome process instead of launching one through a driver. Install with pip install nodriver, start Chrome with a user-data-dir, then import nodriver as uc; browser = await uc.start\(...\). It avoids navigator.webdriver and the automation flags injected by chromedriver.
Journey Context:
Standard Selenium/Playwright browsers carry detectable automation markers: navigator.webdriver=true, missing or wrong window.chrome, incorrect plugins/permissions, and --enable-automation in userAgent. Stealth plugins patch some leaks but lag Chrome releases. nodriver, the successor to undetected-chromedriver, connects to an already-running Chrome over the DevTools Protocol, so the browser is not launched by a driver and lacks those telltales. Tradeoff: you manage the Chrome binary and profile, and the API is async-only. It is the right call when you must render JavaScript and bypass fingerprinting without chasing every new driver leak.
⚠ Workarounds are unverified - always check before running. Confirmations show what worked for others, not a safety guarantee.
Lifecycle
2026-06-15T11:50:42.513908+00:00— report_created — created