Rod
A Chrome DevTools Protocol driver for web automation and scraping.
Install / Use
/learn @go-rod/RodREADME
Overview
Documentation | API reference | FAQ
Rod is a high-level driver directly based on DevTools Protocol. It's designed for web automation and scraping for both high-level and low-level use, senior developers can use the low-level packages and functions to easily customize or build up their own version of Rod, the high-level functions are just examples to build a default version of Rod.
Features
- Chained context design, intuitive to timeout or cancel the long-running task
- Auto-wait elements to be ready
- Debugging friendly, auto input tracing, remote monitoring headless browser
- Thread-safe for all operations
- Automatically find or download browser
- High-level helpers like WaitStable, WaitRequestIdle, HijackRequests, WaitDownload, etc
- Two-step WaitEvent design, never miss an event (how it works)
- Correctly handles nested iframes or shadow DOMs
- No zombie browser process after the crash (how it works)
- CI enforced 100% test coverage
Examples
Please check the examples_test.go file first, then check the examples folder.
For more detailed examples, please search the unit tests.
Such as the usage of method HandleAuth, you can search all the *_test.go files that contain HandleAuth,
for example, use GitHub online search in repository.
You can also search the GitHub issues or discussions,
a lot of usage examples are recorded there.
Here is a comparison of the examples between rod and Chromedp.
If you have questions, please raise an issues/discussions or join the chat room.
Sponsors
Rod is sponsored by many organizations and individuals, thank you for your support!
Please contact yad@ysmood.org if you want to be listed here.
<!-- markdownlint-disable MD033 --> <table style="border-collapse: collapse"> <tr> <td> <p>Browser testing via</p> <a href="https://www.testmuai.com/?utm_medium=sponsor&utm_source=go-rod" target="_blank"> <img src="https://github.com/user-attachments/assets/3efebe85-726b-49f1-b4c9-7c0103b192f3" alt="TestMu AI Logo" height="90" /> </a> </td> </tr> </table> <!-- markdownlint-enable MD033 -->Join us
Your help is more than welcome! Even just open an issue to ask a question may greatly help others.
Please read How To Ask Questions The Smart Way before you ask questions.
If you want to contribute please read the Contributor Guide.
