go-rod/rod

A Chrome DevTools Protocol driver for web automation and scraping.

View on GitHub ↗Jump to charts ↓

Summary Information

Updated 49 minutes ago
Added to GitGenius on September 9th, 2026
Created on January 21st, 2020
Open Issues & Pull Requests: 212 (+0)
GitHub issues: Enabled
Number of forks: 484
Total Stargazers: 7,094 (+0)
Total Subscribers: 52 (+0)

Charts & Analytics

Fetching additional details & charts...

Issue Activity (beta)

Issue API getrepoissuespagesummary failed: 429 Rate limit exceeded. Please try again later.

Detailed Description

Rod is a Chrome DevTools Protocol driver for web automation and scraping in Go.

Rod solves the problem of controlling headless browsers programmatically by providing a high-level interface built directly on the DevTools Protocol. It handles the complexity of browser automation through features like automatic element waiting, chained context design for intuitive timeout and cancellation handling, and two-step event design to prevent missed events. The tool manages browser lifecycle automatically, including finding or downloading browsers and preventing zombie processes after crashes. It correctly handles nested iframes and shadow DOMs, and provides helpers for common tasks like waiting for network idle, hijacking requests, and monitoring downloads.

Rod suits developers building web automation, scraping, or testing tools in Go who need both high-level convenience and low-level customization. The architecture allows senior developers to use low-level packages to build custom versions while providing sensible defaults through high-level functions. The README includes a comparison with Chromedp showing how Rod's approach differs. Thread-safe operations and debugging features like automatic input tracing and remote browser monitoring make it suitable for production automation tasks.

The project maintains comprehensive test coverage enforced through continuous integration. Documentation is extensive, with API references, a FAQ section, and numerous examples embedded in unit tests and a dedicated examples folder. The maintainers actively engage with users through issues, discussions, and a chat room, and examples are frequently recorded in response to user questions.