A Chrome DevTools Protocol driver for web automation and scraping.

RAW Doc

README

Overview

[](https://pkg.go.dev/github.com/go-rod/rod)
[][discord room]

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.

δΈ­ζ–‡ API ζ–‡ζ‘£

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][discord room].

Sponsors

Rod is sponsored by many organizations and individuals, thank you for your support!

Please contact [email protected] if you want to be listed here.

<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>

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.

[discord room]: https://discord.gg/CpevuvY

---