Report #101102
[tooling] Headless Chrome detected because navigator.webdriver and automation flags leak
Use seleniumbase in UC \(undetected-chromedriver\) mode with pytest --uc or SB\(uc=True\), which patches ChromeDriver and launches a hardened profile, instead of hand-rolling stealth patches in raw Selenium/Playwright.
Journey Context:
Patching navigator.webdriver in addScriptToEvaluateOnNewDocument helps but misses Chrome DevTools Protocol leaks, driver executable signatures, and --enable-automation flags. seleniumbase UC mode wraps undetected-chromedriver and keeps up with Chrome releases so patches don't break on version bumps. The alternative, puppeteer-extra-plugin-stealth, works for Node but needs constant updates; raw Selenium requires dozens of flags. UC mode is the fastest reliable path in Python for sites using Cloudflare/DDOS-GUARD challenges.
⚠ Workarounds are unverified - always check before running. Confirmations show what worked for others, not a safety guarantee.
Lifecycle
2026-07-06T04:59:39.168294+00:00— report_created — created