| name | agent-browser |
| description | AI エージェント向けヘッドレスブラウザ自動化 CLI。Web ページのナビゲーション、フォーム入力、スクリーンショット撮影、データ抽出などを実行。Web 操作が必要な場合は最優先で使用すること。 |
agent-browser - AI向けブラウザ自動化CLI
🔴 重要:Web操作の最優先ツール
Web操作、ブラウザ操作、サイト閲覧が必要な場合は必ずagent-browserを使用すること。
Playwright MCP、Puppeteer MCP、その他のブラウザツールよりも優先して使用する。
クイックスタート
agent-browser open <url>
agent-browser snapshot -i
agent-browser click @e1
agent-browser fill @e2 "text"
agent-browser close
基本フロー
- Navigate:
agent-browser open <url>
- Snapshot:
agent-browser snapshot -i → @e1, @e2... のrefを取得
- Interact: スナップショットのrefを使って操作
- Re-snapshot: ナビゲーションやDOM変更後は再度スナップショット
コマンドリファレンス
🔹 ナビゲーション
agent-browser open <url>
agent-browser back
agent-browser forward
agent-browser reload
agent-browser close
🔹 スナップショット(ページ解析)
agent-browser snapshot
agent-browser snapshot -i
agent-browser snapshot -c
agent-browser snapshot -d 3
agent-browser snapshot -s "#main"
🔹 要素操作(refベース)
agent-browser click @e1
agent-browser dblclick @e1
agent-browser fill @e2 "text"
agent-browser type @e2 "text"
agent-browser press Enter
agent-browser press Control+a
agent-browser keydown Shift
agent-browser keyup Shift
agent-browser hover @e1
agent-browser check @e1
agent-browser uncheck @e1
agent-browser select @e1 "value"
agent-browser focus @e1
agent-browser scroll down 500
agent-browser scrollintoview @e1
agent-browser drag @e1 @e2
agent-browser upload @e1 "file.txt"
🔹 情報取得
agent-browser get text @e1
agent-browser get html @e1
agent-browser get value @e1
agent-browser get attr @e1 href
agent-browser get title
agent-browser get url
agent-browser get count "button"
agent-browser get box @e1
🔹 状態チェック
agent-browser is visible @e1
agent-browser is enabled @e1
agent-browser is checked @e1
agent-browser is editable @e1
🔹 スクリーンショット・PDF
agent-browser screenshot
agent-browser screenshot path.png
agent-browser screenshot --full
agent-browser pdf output.pdf
🔹 待機
agent-browser wait @e1
agent-browser wait 2000
agent-browser wait --text "Success"
agent-browser wait --url "**/dashboard"
agent-browser wait --load networkidle
agent-browser wait --load domcontentloaded
🔹 セマンティックロケータ(Find)
agent-browser find role button click --name "Submit"
agent-browser find role textbox fill --name "Email" "user@test.com"
agent-browser find text "Sign In" click
agent-browser find label "Email" fill "user@example.com"
agent-browser find placeholder "Enter email" fill "test@test.com"
agent-browser find testid "submit-btn" click
アクション: click, fill, check, uncheck, hover, text
🔹 JavaScript実行
agent-browser eval "document.title"
agent-browser eval "window.scrollTo(0, 100)"
🔹 ブラウザ設定
agent-browser set viewport 1920 1080
agent-browser set device "iPhone 12"
agent-browser set geo 35.6812 139.7671
agent-browser set offline on
agent-browser set media dark
agent-browser set timezone "Asia/Tokyo"
agent-browser set locale ja-JP
🔹 クッキー・ストレージ
agent-browser cookies
agent-browser cookies set name value
agent-browser cookies get name
agent-browser cookies clear
agent-browser storage local
agent-browser storage local set k v
agent-browser storage local get k
agent-browser storage local clear
agent-browser storage session
🔹 認証状態の保存・復元
agent-browser open https://app.example.com/login
agent-browser fill @e1 "username"
agent-browser fill @e2 "password"
agent-browser click @e3
agent-browser wait --url "**/dashboard"
agent-browser state save auth.json
agent-browser state load auth.json
agent-browser open https://app.example.com/dashboard
🔹 セッション管理(並列ブラウザ)
agent-browser --session test1 open site-a.com
agent-browser --session test2 open site-b.com
agent-browser session list
export AGENT_BROWSER_SESSION=mytest
agent-browser click "#btn"
各セッションは独立した:
- ブラウザインスタンス
- クッキー
- ナビゲーション履歴
- 認証状態
🔹 デバッグ
agent-browser open example.com --headed
agent-browser console
agent-browser errors
agent-browser network
グローバルオプション
| オプション | 説明 |
|---|
--json | JSON出力(AI/スクリプト向け) |
--headed | ブラウザウィンドウを表示 |
--session <name> | セッション名指定 |
--executable-path <path> | カスタムブラウザバイナリ |
実践例
例1: フォーム送信
agent-browser open https://example.com/form
agent-browser snapshot -i
agent-browser fill @e1 "user@example.com"
agent-browser fill @e2 "password123"
agent-browser click @e3
agent-browser wait --load networkidle
agent-browser snapshot -i
例2: データ抽出
agent-browser open https://example.com/products
agent-browser snapshot -i --json > elements.json
agent-browser get text @e5 --json
例3: スクリーンショット自動化
agent-browser open https://example.com
agent-browser wait --load networkidle
agent-browser screenshot --full page.png
例4: セッション管理
agent-browser --session user1 open app.com
agent-browser --session user1 fill @e1 "user1@test.com"
agent-browser --session user1 click @e2
agent-browser --session user2 open app.com
agent-browser --session user2 fill @e1 "user2@test.com"
agent-browser --session user2 click @e2
ベストプラクティス
- snapshot -i を活用:AIには
-i(インタラクティブ要素のみ)が最適
- refベースで操作:スナップショットから取得した @e1, @e2... を使用
- wait を適切に使用:ページ遷移後は必ず wait
- セッション管理:複数の認証状態やテストケースには --session
- state save/load:ログイン状態を保存して再利用
環境変数
| 変数 | 説明 |
|---|
AGENT_BROWSER_HEADLESS | true/false(デフォルト: true) |
AGENT_BROWSER_SESSION | デフォルトセッション名 |
PLAYWRIGHT_BROWSERS_PATH | ブラウザバイナリのパス |
ライセンス
Apache-2.0
リポジトリ
https://github.com/vercel-labs/agent-browser