{"id":13413935,"url":"https://github.com/go-rod/rod","last_synced_at":"2025-05-15T18:01:53.482Z","repository":{"id":37310139,"uuid":"235431922","full_name":"go-rod/rod","owner":"go-rod","description":"A Chrome DevTools Protocol driver for web automation and scraping.","archived":false,"fork":false,"pushed_at":"2024-12-07T14:51:24.000Z","size":3779,"stargazers_count":5891,"open_issues_count":171,"forks_count":379,"subscribers_count":49,"default_branch":"main","last_synced_at":"2025-05-08T17:57:44.505Z","etag":null,"topics":["automation","cdp","chrome-devtools","chrome-devtools-protocol","chrome-headless","crawling","devtools","devtools-protocol","go","golang","gorod","headless","rod","scraper","testing","web","web-scraping"],"latest_commit_sha":null,"homepage":"https://go-rod.github.io","language":"Go","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/go-rod.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":".github/CONTRIBUTING.md","funding":".github/FUNDING.yml","license":"LICENSE","code_of_conduct":".github/CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null},"funding":{"github":["ysmood"]}},"created_at":"2020-01-21T20:09:45.000Z","updated_at":"2025-05-08T07:49:32.000Z","dependencies_parsed_at":"2023-12-20T14:10:50.983Z","dependency_job_id":"9a50a371-e502-47f9-9651-2cd6046c6dae","html_url":"https://github.com/go-rod/rod","commit_stats":{"total_commits":1281,"total_committers":61,"mean_commits":21.0,"dds":0.4738485558157689,"last_synced_commit":"0e9c8d6965eaa470a619108100198f6a7f9d15d3"},"previous_names":["ysmood/rod","ysmood/clicker"],"tags_count":367,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/go-rod%2Frod","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/go-rod%2Frod/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/go-rod%2Frod/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/go-rod%2Frod/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/go-rod","download_url":"https://codeload.github.com/go-rod/rod/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":254394718,"owners_count":22063984,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["automation","cdp","chrome-devtools","chrome-devtools-protocol","chrome-headless","crawling","devtools","devtools-protocol","go","golang","gorod","headless","rod","scraper","testing","web","web-scraping"],"created_at":"2024-07-30T20:01:53.096Z","updated_at":"2025-05-15T18:01:53.413Z","avatar_url":"https://github.com/go-rod.png","language":"Go","readme":"# Overview\n\n[![Go Reference](https://pkg.go.dev/badge/github.com/go-rod/rod.svg)](https://pkg.go.dev/github.com/go-rod/rod)\n[![Discord Chat](https://img.shields.io/discord/719933559456006165.svg)][discord room]\n\n## [Documentation](https://go-rod.github.io/) | [API reference](https://pkg.go.dev/github.com/go-rod/rod?tab=doc) | [FAQ](https://go-rod.github.io/#/faq/README)\n\nRod is a high-level driver directly based on [DevTools Protocol](https://chromedevtools.github.io/devtools-protocol).\nIt'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\ncustomize or build up their own version of Rod, the high-level functions are just examples to build a default version of Rod.\n\n[中文 API 文档](https://pkg.go.dev/github.com/go-rod/go-rod-chinese)\n\n## Features\n\n- Chained context design, intuitive to timeout or cancel the long-running task\n- Auto-wait elements to be ready\n- Debugging friendly, auto input tracing, remote monitoring headless browser\n- Thread-safe for all operations\n- Automatically find or download [browser](lib/launcher)\n- High-level helpers like WaitStable, WaitRequestIdle, HijackRequests, WaitDownload, etc\n- Two-step WaitEvent design, never miss an event ([how it works](https://github.com/ysmood/goob))\n- Correctly handles nested iframes or shadow DOMs\n- No zombie browser process after the crash ([how it works](https://github.com/ysmood/leakless))\n- [CI](https://github.com/go-rod/rod/actions) enforced 100% test coverage\n\n## Examples\n\nPlease check the [examples_test.go](examples_test.go) file first, then check the [examples](lib/examples) folder.\n\nFor more detailed examples, please search the unit tests.\nSuch as the usage of method `HandleAuth`, you can search all the `*_test.go` files that contain `HandleAuth`,\nfor example, use GitHub online [search in repository](https://github.com/go-rod/rod/search?q=HandleAuth\u0026unscoped_q=HandleAuth).\nYou can also search the GitHub [issues](https://github.com/go-rod/rod/issues) or [discussions](https://github.com/go-rod/rod/discussions),\na lot of usage examples are recorded there.\n\n[Here](lib/examples/compare-chromedp) is a comparison of the examples between rod and Chromedp.\n\nIf you have questions, please raise an [issues](https://github.com/go-rod/rod/issues)/[discussions](https://github.com/go-rod/rod/discussions) or join the [chat room][discord room].\n\n## Join us\n\nYour help is more than welcome! Even just open an issue to ask a question may greatly help others.\n\nPlease read [How To Ask Questions The Smart Way](http://www.catb.org/~esr/faqs/smart-questions.html) before you ask questions.\n\nWe use GitHub Projects to manage tasks, you can see the priority and progress of the issues [here](https://github.com/go-rod/rod/projects).\n\nIf you want to contribute please read the [Contributor Guide](.github/CONTRIBUTING.md).\n\n[discord room]: https://discord.gg/CpevuvY\n","funding_links":["https://github.com/sponsors/ysmood"],"categories":["Go","Golang","开源类库","Links Úteis","测试","Browser automation","Testing","automation","Chrome DevTools Protocol","Open source library","Go (531)","网络信息服务","测试相关","Core Libraries","Template Engines","Selenium and browser control tools","测试相关`测试库和测试数据集生成库`","Mock","\u003ca name=\"browser-automation\"\u003e\u003c/a\u003e🎭 Browser Automation"],"sub_categories":["Scraper","桌面开发","Em Português","HTTP客户端","Observability","Selenium and browser control tools","Libraries for driving the protocol (or a layer above)","Desktop Development","网络爬虫","查询语","Selenium and browser control tools.","Go","HTTP Clients","Mock"],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgo-rod%2Frod","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fgo-rod%2Frod","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgo-rod%2Frod/lists"}