greekr4/playwright-bot-bypass
Overview
This skill provides a stealth Playwright setup that reduces common automation fingerprints to avoid triggering bot checks and aggressive CAPTCHAs. It uses rebrowser-playwright and practical runtime patches to remove navigator webdriver, clean the user agent, and prefer a real Chrome GPU so sites like bot.sannysoft.com and aggressive protections are less likely to flag automation. The goal is reliable, headed browser automation for scraping and testing when detection is the main obstacle.
How this skill works
The skill swaps the standard Playwright import for rebrowser-playwright so the browser binary and runtime are patched to look like a regular Chrome install. It applies init scripts (for example deleting navigator.webdriver), launches Chrome via channel: 'chrome' in headed mode, and adjusts UA/fingerprint vectors to avoid obvious automation signals. It does not defeat image-based CAPTCHAs; instead it reduces the chance of triggering them by removing browser-level fingerprints.
When to use it
- Automating sites that detect and block standard Playwright/Puppeteer
- Testing whether automation is flagged by bot detection pages (e.g., bot.sannysoft.com)
- Scraping or QA tasks where avoiding early CAPTCHA prompts matters
- Running headed browser workflows that require a real Chrome GPU
- When Python playwright-stealth is failing and a Node.js/Playwright solution is viable
Best practices
- Always import from rebrowser-playwright, not playwright, to get binary-level patches
- Run in headed mode (headless: false) and specify channel: 'chrome' to use an installed Chrome
- Inject addInitScript early to remove navigator.webdriver and other navigator fingerprints before navigation
- Add human-like delays and realistic interaction patterns; fingerprints are only one detection vector
- Test against bot detection pages after setup and iterate — behavioral signals can still trigger protections
Example use cases
- Headed Google search automation that avoids triggering CAPTCHA to capture organic results
- Web scraping of pages protected by Cloudflare or similar anti-bot layers where standard Playwright is blocked
- A/B test comparing standard Playwright detection versus rebrowser-playwright stealth
- Integration testing for web apps that should behave the same under automation and real user sessions
- Node.js microservice that runs stealth browsing tasks invoked from other languages via subprocess
FAQ
No. This skill reduces browser fingerprints that commonly trigger CAPTCHAs but does not solve image-based CAPTCHAs. It lowers the chance of being challenged, not a guaranteed CAPTCHA solver.
Does it work headless?
No. This approach requires headed mode (headless: false) and a real Chrome install (channel: 'chrome') to expose a real GPU and avoid SwiftShader fingerprints.