Back to Rod

Overview

README.md

0.116.23.4 KB
Original Source

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.

中文 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.

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.

<!-- 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">
  </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.