Repolode
go-rod

go-rod/rod

Web自動化やスクレイピング向けに、DevTools Protocol経由でChromeを操作するGoライブラリ。自動待機やブラウザのダウンロードに対応。

スター
7,136
フォーク
489
未解決の Issue
216
最終コミット
3 か月前

これは何?

RodはChrome DevTools Protocolを直接利用する高水準ドライバーで、GoでのWeb自動化やスクレイピングを目的としています。チェーン形式で呼び出せるcontextベースのAPIを備え、時間のかかるタスクを簡単にタイムアウトまたはキャンセルできるほか、操作の実行前に対象の要素を自動で待機します。

基本的な操作に加え、WaitStable、WaitRequestIdle、HijackRequests、WaitDownloadなどの高水準ヘルパーを備えています。入れ子になったiframeやshadow DOMを正しく扱えるほか、launcherパッケージを使ってブラウザを自動で検出またはダウンロードできます。ライブラリはスレッドセーフであるとドキュメントに記載されており、低水準パッケージを使って独自ツールを構築することもできます。

メンテナーによると、CIで100%のテストカバレッジを必須にしています。また、クラッシュしてもブラウザプロセスが残らないよう、leaklessの仕組みを採用しています。ドキュメント、APIリファレンス、中国語版APIドキュメントが用意されています。

主な機能

  • 01タイムアウトの設定や長時間実行タスクのキャンセルに使える、チェーン形式のcontext API。
  • 02操作の前に、要素の準備が整うまで自動で待機。
  • 03launcherパッケージを介してブラウザを自動で検出またはダウンロード。
  • 04リクエストのハイジャック、ダウンロードの待機、ページの安定状態の検出に使えるヘルパー。
  • 05入れ子になったiframeやshadow DOMに対応。
  • 06クラッシュ後にブラウザプロセスが残るのを防止。

ユースケース

  • Goのサービスで、JavaScriptを多用するWebサイトからデータをスクレイピングする。
  • Goでエンドツーエンドのブラウザテストを書く。
  • フォーム入力やダウンロードなど、繰り返し行うWeb作業を自動化する。
  • 低水準のCDPパッケージを基盤に、独自のブラウザ自動化ツールを構築する。

収録されている特集

トピック

よくある質問

rod とは?
Web自動化やスクレイピング向けに、DevTools Protocol経由でChromeを操作するGoライブラリ。自動待機やブラウザのダウンロードに対応。 RodはChrome DevTools Protocolを直接利用する高水準ドライバーで、GoでのWeb自動化やスクレイピングを目的としています。チェーン形式で呼び出せるcontextベースのAPIを備え、時間のかかるタスクを簡単にタイムアウトまたはキャンセルできるほか、操作の実行前に対象の要素を自動で待機します。
rod は無料で使えますか?ライセンスは?
rod は MIT ライセンスのオープンソースです。商用製品で使う前にライセンス条件を確認してください。
rod は今もメンテナンスされていますか?
半年以内に更新あり。rod の最終コミットは 2026年8月11日 です。
rod は何に使えますか?
Goのサービスで、JavaScriptを多用するWebサイトからデータをスクレイピングする。 Goでエンドツーエンドのブラウザテストを書く。 フォーム入力やダウンロードなど、繰り返し行うWeb作業を自動化する。 低水準のCDPパッケージを基盤に、独自のブラウザ自動化ツールを構築する。
rod はどこで入手できますか?
ソースコードとインストール手順は GitHub にあります:https://github.com/go-rod/rod

概要はプロジェクトの README をもとに AI が生成しています。GitHub の数値は毎日更新されます。

関連プロジェクト