Skip to content

go-rod/rod

Repository files navigation

Overview

Go Reference Discord Chat

Rod is a high-level driver directly based onDevTools 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.

Tiếng Trung API hồ sơ

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 downloadbrowser
  • 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)
  • CIenforced 100% test coverage

Examples

Please check theexamples_test.gofile first, then check theexamplesfolder.

For more detailed examples, please search the unit tests. Such as the usage of methodHandleAuth,you can search all the*_test.gofiles that containHandleAuth, for example, use Github onlinesearch in repository. You can also search the GitHubissuesordiscussions, a lot of usage examples are recorded there.

Hereis a comparison of the examples between rod and Chromedp.

If you have questions, please raise anissues/discussionsor join thechat room.

Join us

Your help is more than welcome! Even just open an issue to ask a question may greatly help others.

Please readHow To Ask Questions The Smart Waybefore you ask questions.

We use Github Projects to manage tasks, you can see the priority and progress of the issueshere.

If you want to contribute please read theContributor Guide.