github.com/go-rod/rod ↗
A Chrome DevTools Protocol driver for web automation and scraping.
Open this visualization on its own page →
Contributors
18
Lines of Code
3,447
From
2020-01-28
To
2020-12-28
About go-rod/rod
Rod is a high-level Go driver for the Chrome DevTools Protocol designed for web automation and scraping tasks. It provides both low-level access for advanced customization and high-level helper functions for common operations, making it suitable for developers of varying skill levels. The library is built with a focus on usability, offering features like automatic element waiting, context-based timeout handling, and thread-safe operations across the entire API.
The project includes sophisticated capabilities for handling complex web interactions such as iframe and shadow DOM navigation, request hijacking, download waiting, and authentication handling. Rod includes automatic browser detection and downloading, comprehensive debugging support with tracing and remote monitoring, and uses advanced techniques to prevent zombie processes and missed events. The codebase maintains 100% test coverage enforced through continuous integration, with extensive examples available in the repository and searchable through unit tests and GitHub issues.
The library appeals to web scrapers, test automation engineers, and developers building browser automation tools in Go. It supports both simple high-level workflows and complex low-level protocol interactions, positioning itself as a flexible alternative to other DevTools drivers in the Go ecosystem.