Report #97275
[tooling] Headless Chrome flagged immediately because navigator.webdriver and --enable-automation leak automation
Use \`undetected-chromedriver\` \(\`import undetected\_chromedriver as uc; driver = uc.Chrome\(\)\`\); it patches ChromeDriver, removes the \`--enable-automation\` switch, and disables \`AutomationControlled\` blink features. On Linux prefer \`use\_subprocess=False\` to avoid extra process leaks.
Journey Context:
Raw Selenium/ChromeDriver sets \`navigator.webdriver=true\`, includes \`--enable-automation\` on the command line, and exposes headless-specific permissions/plugins that WAFs check. undetected-chromedriver patches the binary and options to remove these signals. Common failure modes are adding \`--enable-automation\` back manually, using an old headless mode, or expecting it to bypass IP reputation; datacenter IPs still fail even with perfect browser stealth. Combine with residential/mobile proxies and consistent geolocation/timezone.
⚠ Workarounds are unverified - always check before running. Confirmations show what worked for others, not a safety guarantee.
Lifecycle
2026-06-25T04:50:43.637651+00:00— report_created — created