Agent Browser について
Agent Browserは、Rust製でNode.jsへのフォールバックを備えたヘッドレスブラウザー自動化CLIです。AIエージェントが構造化コマンドでページを操作でき、スナップショットによる要素参照、機械可読出力、分離セッションに対応します。
主な機能
- 01ページの移動と操作
- 02ページスナップショットの取得と絞り込み
- 03参照による要素の特定
- 04テキスト、HTML、ページ情報の抽出
- 05分離ブラウザーセッションの管理
- 06CDP経由のChrome接続
活用シーン
- 01フォーム入力とページ移動の自動化
- 02構造化されたページ内容の抽出
- 03ログイン済みブラウザーセッションの利用
インストール
コマンドをコピーしてターミナルで実行します。
$
npx skills add https:/ / github.com/ am-will/ codex-skills --skill agent-browserインストール後、Claude Code で/agent-browserを入力して読み込まれたか確認します。
同梱ファイル.clawdhub/origin.json
詳細
Agent Browser
AI エージェントが構造化コマンドを使ってページを移動、クリック、入力し、スナップショットを取得できる、高速な Rust ベースのヘッドレスブラウザー自動化 CLI です。Node.js によるフォールバックも備えています。
インストール
npm(推奨)
npm install -g agent-browser
agent-browser install
agent-browser install --with-deps
ソースから
git clone https://github.com/vercel-labs/agent-browser
cd agent-browser
pnpm install
pnpm build
agent-browser install
クイックスタート
agent-browser open example.com
agent-browser snapshot
agent-browser click @e2
agent-browser fill @e3 "[email protected]"
agent-browser get text @e1
agent-browser screenshot page.png
agent-browser close
実際の Chrome プロファイルを使用する(OAuth/ログイン済みセッション向け)
Google/Discord などへのログインが必要なサイト(star-swap.com など)で使用します。
方法 1:カスタムプロファイルで Chrome を起動し、CDP 経由で接続する
# Terminal 1: Launch Chrome with your real profile and remote debugging
google-chrome --remote-debugging-port=9222 --user-data-dir=/home/willr/.config/google-chrome/Default &
# Terminal 2: Connect agent-browser to that Chrome instance
agent-browser --cdp 9222 open "https://star-swap.com"
agent-browser --cdp 9222 snapshot -i
agent-browser --cdp 9222 click e2
# This reuses your existing Google session - no re-login needed!
# Works for: Google OAuth, Discord OAuth, any site you're logged into in Chrome
方法 2:セッションを保持する(初回は手動でログイン)
# First time: headed mode, login manually
agent-browser --headed --session starswap open "https://star-swap.com"
# Complete Google OAuth manually in the browser window
# Close when done
# Future runs: cookies persist!
agent-browser --session starswap open "https://star-swap.com"
# Already logged in automatically
am.will.ryan の Chrome プロファイル: /home/willr/.config/google-chrome/Default
基本コマンド
ナビゲーション
agent-browser open <url>
agent-browser back
agent-browser forward
agent-browser reload
操作
agent-browser click <sel>
agent-browser dblclick <sel>
agent-browser focus <sel>
agent-browser type <sel> <text>
agent-browser fill <sel> <text>
agent-browser clear <sel>
agent-browser press <key>
agent-browser keydown <key>
agent-browser keyup <key>
agent-browser hover <sel>
agent-browser select <sel> <val>
agent-browser check <sel>
agent-browser uncheck <sel>
agent-browser drag <src> <tgt>
agent-browser upload <sel> <files>
抽出と情報
agent-browser snapshot
agent-browser get text <sel>
agent-browser get html <sel>
agent-browser get value <sel>
agent-browser get attr <sel> <attr>
agent-browser get title
agent-browser get url
agent-browser get count <sel>
agent-browser get box <sel>
agent-browser screenshot [path]
agent-browser pdf <path>
状態の確認
agent-browser is visible <sel>
agent-browser is enabled <sel>
agent-browser is checked <sel>
要素を検索する
- agent-browser find role [value]
- agent-browser find text
- agent-browser find label [value]
- agent-browser find placeholder [value]
- agent-browser find alt
- agent-browser find title
- agent-browser find testid [value]
アクションには、クリック、入力、チェック、ホバー、テキスト取得があります。
待機とタイミング
agent-browser wait <selector>
agent-browser wait <ms>
agent-browser wait --text "Welcome"
agent-browser wait --url "**/dash"
agent-browser wait --load networkidle
高度な制御
agent-browser scroll <dir> [px]
agent-browser scrollintoview <sel>
agent-browser eval <js>
agent-browser mouse move <x> <y>
agent-browser cookies
agent-browser storage local
agent-browser tab new [url]
agent-browser frame <sel>
agent-browser dialog accept [text]
セッション
複数の分離されたブラウザーインスタンスを実行します。
agent-browser --session agent1 open site-a.com
agent-browser --session agent2 open site-b.com
スナップショットのオプション
snapshot コマンドでは、出力サイズを抑えるためにフィルタリングできます。
- agent-browser snapshot -i
- agent-browser snapshot -c
- agent-browser snapshot -d 3
- agent-browser snapshot -s "#main"
セレクターと参照
参照を使うと、スナップショットから要素を確実に選択できます。@ref 構文を使用してください。
agent-browser snapshot
agent-browser click @e2
エージェントモード
機械で読み取り可能な出力には --json を使用します。
agent-browser snapshot --json
最適な AI ワークフロー
- agent-browser open でページに移動します
- agent-browser snapshot -i --json でページを確認します
- スナップショットの @ref を使って操作します
- agent-browser snapshot で確認します
トラブルシューティング
- Linux ARM64 でコマンドが見つからない場合は、bin フォルダー内のフルパスを使用してください。
- 要素が見つからない場合は、snapshot を使って正しい参照を確認してください。
- ページが読み込まれていない場合は、ナビゲーションの後に wait コマンドを追加してください。
- デバッグ時にブラウザーウィンドウを表示するには、--headed を使用してください。
オプション
- --session は分離されたセッションを使用します。
- --json は JSON 出力を行います。
- --full はページ全体のスクリーンショットを撮影します。
- --headed はブラウザーウィンドウを表示します。
- --timeout はコマンドのタイムアウトをミリ秒単位で設定します。
注意事項
- 参照はページの読み込み中は安定していますが、ナビゲーションすると変わります。
- 新しい参照を取得するため、ナビゲーション後は必ずスナップショットを取得してください。
- 入力欄の既存のテキストを確実に消去するには、type ではなく fill を使用してください。
コメント
Markdown 対応