Go-Rod Browser Automation Master
Detailed Guide
Read the detailed guide before executing this skill. It retains the complete procedure and reference material. Treat its safety, prerequisites, and validation requirements as mandatory. For focused work, load the relevant sections; for end-to-end work, read the guide completely.
When to Use This Skill
- Use when the user asks to scrape, automate, or test a website using Go.
- Use when the user needs a headless browser for dynamic/SPA content (React, Vue, Angular).
- Use when the user mentions stealth, anti-bot, avoiding detection, Cloudflare, or bot detection bypass.
- Use when the user wants to work with the Chrome DevTools Protocol (CDP) directly from Go.
- Use when the user needs to intercept or hijack network requests in a browser context.
- Use when the user asks about concurrent browser scraping or page pooling in Go.
- Use when the user is migrating from chromedp or Playwright Go and wants a simpler API.
Safety & Risk
Risk Level: 🔵 Safe
- Read-Only by Default: Default behavior is navigating and reading page content (scraping/testing).
- Isolated Contexts: Browser contexts are sandboxed; cookies and storage do not persist unless explicitly saved.
- Resource Cleanup: Designed around Go's
deferpattern — browsers and pages close automatically. - No External Mutations: Does not modify external state unless the script explicitly submits forms or POSTs data.
Examples
See the examples/ directory for complete, runnable Go files:
examples/basic_scrape.go— Minimal scraping exampleexamples/stealth_page.go— Anti-detection with go-rod/stealthexamples/request_hijacking.go— Intercepting and modifying network requestsexamples/concurrent_pages.go— Page pool for concurrent scraping
Limitations
- CAPTCHAs: Rod does not include CAPTCHA solving. External services (2captcha, etc.) must be integrated separately.
- Extreme Anti-Bot: While
go-rod/stealthhandles common detection (WebDriver, plugin fingerprints, WebGL), extremely strict systems (some Cloudflare configurations, Akamai Bot Manager) may still detect automation. Additional measures (residential proxies, human-like behavioral patterns) may be needed. - DRM Content: Cannot interact with DRM-protected media (e.g., Widevine).
- Resource Usage: Each browser instance consumes significant RAM (~100-300MB+). Use
PagePooland limit concurrency on memory-constrained systems. - Extensions in Headless: Chrome extensions do not work in headless mode. Use
Headless(false)with XVFB for server environments. - Platform: Requires a Chromium-compatible browser. Does not support Firefox or Safari.