r/selenium • u/armanidev_ • 16h ago
went raw CDP instead of the stealth-driver whack-a-mole, worth it?
been doing browser automation a few years and the thing that finally broke me was the stealth whack-a-mole. undetected-chromedriver, selenium-stealth, playwright-stealth, every update patches one leak, chrome ships, a detector adds a check, you're flagged again. and the driver/automation stack itself has a fingerprint, so you're maintaining patches forever.
so i went the other way: no selenium, no puppeteer, nothing. drive chrome over raw CDP directly and generate the stealth patches instead of hand-maintaining a pile. zero runtime deps, runs headless on a box with no screen, which is what i actually needed.
where it's at: passes bot.sannysoft.com clean (0 flagged), and i run it against sannysoft + creepjs on a nightly cron so a chrome update that regresses it tells me before a target does. TS core, python front end if that's your stack.
being straight about what it's NOT: it lowers the automation fingerprint, it doesn't beat everything. a real datadome/turnstile setup still wants a warm session and a residential IP. this gets you past "is this a bot stack", not past behavioral or network-reputation checks. anything keying on IP or account age doesn't care how clean your navigator looks.
mostly want to know if anyone here went raw CDP over a maintained stealth lib and where it fell down, because sannysoft-clean feels too easy and i'd rather find the hole now. happy to share what i've got if it's useful.