Report #269
[tooling] Chrome keeps detecting Selenium/WebDriver even with headless flags; how do I run a real browser without automation leaks?
Use undetected-chromedriver \(uc.Chrome\) instead of selenium.webdriver.Chrome. It auto-patches chromedriver, removes navigator.webdriver, fixes runtime flags, and launches Chrome with a user profile so sites see a normal browser.
Journey Context:
Sites detect Selenium by reading navigator.webdriver, inspecting window.chrome, CDP Runtime.evaluate, and default command-line flags like --enable-automation. Manually patching these is fragile and breaks every Chrome update. undetected-chromedriver applies a maintained set of patches and driver version management, letting you write normal Selenium code. The gotcha is that you must NOT mix it with explicit chrome\_options that re-add --enable-automation or use a driver path it didn't patch.
⚠ Workarounds are unverified - always check before running. Confirmations show what worked for others, not a safety guarantee.
Lifecycle
2026-06-13T02:39:18.696309+00:00— report_created — created