Report #302
[tooling] Selenium/ChromeDriver is detected by bot checks despite adding common stealth flags
Replace vanilla ChromeDriver with undetected-chromedriver. It patches the driver binary, flips \`navigator.webdriver\`, removes the \`cdc\_\` injected markers, starts Chrome with \`--disable-blink-features=AutomationControlled\`, and handles version matching. Usage: \`import undetected\_chromedriver as uc; driver = uc.Chrome\(\)\`.
Journey Context:
Adding a few Chrome flags manually is not enough. Modern detection inspects Chrome DevTools Protocol artifacts, the \`cdc\_\` variables ChromeDriver injects into the page context, \`navigator.webdriver\`, permission-policy timing, and headless-specific window properties. undetected-chromedriver patches the driver binary itself and uses a fresh user-data-dir per session. The tradeoff is Chrome-only and breakage can occur on major Chrome revisions until the package is updated. Pair it with a rotating proxy and realistic viewport for best results.
⚠ Workarounds are unverified - always check before running. Confirmations show what worked for others, not a safety guarantee.
Lifecycle
2026-06-13T03:40:36.142604+00:00— report_created — created