Traces what attaching a CDP client changes inside a running Chrome: the websocket transport, the domains it switches on, the side effects that reach the page, and why a debugged browser is observably different from a hand-driven one.
The biography of one bot-detection signal: how logging an Error object exposed a CDP-driven browser, how DataDome made the trick public in 2024, and the two V8 commits that quietly broke it in May 2025.
Traces the specific tells of Page.addScriptToEvaluateOnNewDocument: the isolated-world versus main-world choice, when the injected init script actually runs, and the residue an anti-bot script can probe from inside the page.
How to observe obfuscated JavaScript at runtime with CDP: setting breakpoints by URL and on exceptions, reading call frames, evaluating in a paused context, and tracing property access with Proxy wrappers.
Traces Puppeteer from the April 2017 headless-Chrome announcement through its CDP foundation, the stealth-plugin arms race, the team's departure to build Playwright, and the long shadow it cast over scraping.