mcpField
A
agent-browser-commands

agent-browser-commands

github.com/owenleezyエージェントワークフロー456 回インストール31 週間前に更新
リポジトリ

agent-browser-commands について

agent-browser-commands は、agent-browser によるブラウザー自動化向けの内部コマンドリファレンスです。ナビゲーション、ページ操作、デバッグ、ネットワーク、セッション、デバイスエミュレーションを扱い、自動化の入口として agent-browser スキルを案内します。

主な機能

  1. 01ナビゲーションとタブ管理
  2. 02ページ要素の検出と操作
  3. 03スクリーンショット、PDF、差分比較
  4. 04ネットワークリクエストの確認とモック
  5. 05セッション、認証、バッチ実行
  6. 06デバイスとメディアのエミュレーション

活用シーン

  1. 01ブラウザー自動化コマンドの確認
  2. 02フォーム操作や複数段階のページ処理
  3. 03ネットワークやページのエラー調査
  4. 04ビジュアル回帰テストとデバイスエミュレーション

インストール

コマンドをコピーしてターミナルで実行します。

$npx skills add https://github.com/owenleezy/agent-browser-skill --skill agent-browser-commands

インストール後、Claude Code で/agent-browser-commandsを入力して読み込まれたか確認します。

詳細

Agent Browser — コマンドリファレンス

内部向けリファレンス。 ブラウザー自動化タスクでは、エントリーポイントとして agent-browser スキルを使用してください。


ナビゲーション

コマンド説明適用シーン
open <url>URL に移動します(chrome:// と chrome-extension:// に対応)すべてのタスクの開始点
back / forwardブラウザーの履歴を移動します複数ページのフローをさかのぼる
reloadページを更新します状態を強制的に更新する
closeブラウザーを閉じますタスク終了後のクリーンアップ

検出

コマンド説明適用シーン
snapshot参照情報付きのアクセシビリティツリー操作可能な要素の参照を取得する
snapshot -iインタラクティブ要素のみ操作可能な要素に絞り込む
snapshot -cコンパクト表示(ノイズを低減)大きなページで出力のノイズを減らす
snapshot -d <n>ツリーの深さを制限します最上位の構造のみを確認する
snapshot -s <sel>CSS セレクターで範囲を指定しますダイアログ/部分領域に絞り込む

操作

コマンド説明適用シーン
click @e1要素をクリックしますボタン/リンクを操作する
dblclick @e1要素をダブルクリックします編集可能なセル/テキストの選択
fill @e1 "text"入力欄をクリアして入力しますフォーム入力(既存の値を置き換える)
type @e1 "text"クリアせずに入力します(追記)内容の追記/制御されたコンポーネント
keyboard type "text"フォーカス中の要素に入力します。文字ごとに keydown/keypress/input/keyup を発生させますが、document レベルの keydown リスナーは確実には起動しません。document スコープのイベントハンドラーには eval dispatchEvent(new KeyboardEvent(...)) を使用してください対象にフォーカスがある状態で入力する
keyboard inserttext "text"すべてのキーイベントを発生させずにテキストを挿入します(keydown/keypress/keyup は発生しません)キーボードイベントのインターセプトを回避してテキストを直接挿入する
press <key>名前付きキーを押します:Enter、Tab、Control+a、ArrowDownフォームの送信/ショートカット/矢印キー
focus @e1要素にフォーカスしますフォーカス後に keyboard type を使用する
check @e1 / uncheck @e1チェックボックス/ラジオボタンを操作しますチェックボックス/ラジオボタンの操作
select @e1 "option"ドロップダウンから選択します<select> ドロップダウンメニュー
hover @e1マウスを要素に合わせますホバーメニュー/ツールチップを表示する
drag @e1 @e2ソース要素をターゲットにドラッグします。Playwright のポインターベースのドラッグを使用します。マウスイベント方式のドラッグ可能なライブラリ(Sortable.js、jQueryUI)で動作します。HTML5 DragEvent(dragstart/dragover/drop)は発生しません。HTML5 Drag API には eval を使用して DragEvent を手動で発生させてくださいカンバンの並べ替え/ポインタードラッグ
upload @e1 <file>ファイルをアップロードしますファイルアップロードフォーム
download @e1 <path>要素をクリックしてファイルをダウンロードしますエクスポートボタンからダウンロードを開始する
scroll downページをスクロールします(上下左右)遅延読み込み/さらに読み込む操作を行う
scroll down --selector ".modal"特定のコンテナー内をスクロールしますダイアログ内のコンテンツをスクロールする
scrollintoview @e1要素が表示領域に入るまでスクロールします要素が表示領域外にある場合に、クリックする前に使用する
ダイアログ
コマンド説明適用シーン
dialog acceptアラート/確認ダイアログを承認します確認操作のダイアログ
dialog accept "text"入力付きのプロンプトダイアログを承認しますプロンプトに入力してから確定する
dialog dismissダイアログを閉じる/キャンセルします操作のキャンセル/アラートを閉じる
dialog statusダイアログが現在開いているか確認しますダイアログの表示有無を検証する

マウス(細かな制御)

ピクセル座標でポインター/マウスイベントを発生させます。キャンバス、描画アプリ、CSS/ポインターイベント方式のドラッグ可能なコンポーネントで使用します。HTML5 Drag API イベント(dragstart/dragover/drop)は発生しません。これらには eval DragEvent が必要です。

コマンド説明適用シーン
mouse move <x> <y>マウスを指定座標に移動しますキャンバス/描画アプリ
mouse down [btn]マウスボタンを押しますドラッグの開始点
mouse up [btn]マウスボタンを離しますドラッグの終了点
mouse wheel <dy> [dx]ホイールをスクロールしますスクロール量を正確に制御する

情報の取得

コマンド説明適用シーン
get text @e1要素のテキストを取得します表示内容を検証する
get html @e1inner HTML を取得します複雑な構造を確認する
get value @e1入力値を取得しますフォームの現在の値を検証する
get attr @e1 href属性を取得しますリンク/data 属性を確認する
get title / get urlページ情報を取得しますナビゲーション後のルートを検証する
get count "selector"一致する要素の数を取得しますリスト項目数を検証する
get box @e1バウンディングボックスを取得します(x、y、width、height)座標の正確な指定/スクリーンショットの切り抜き
get styles @e1計算済みスタイルを取得しますCSS スタイルのデバッグ
get cdp-urlアクティブページの CDP WebSocket URL高度な CDP デバッグ

状態チェック

コマンド説明適用場面
is visible @e1表示されているかを確認要素の表示アサーション
is enabled @e1有効になっているかを確認ボタンが操作可能かのアサーション
is checked @e1チェックされているかを確認チェックボックスの状態アサーション

待機

コマンド説明適用場面
wait @e1要素が表示されるまで待機非同期コンテンツのレンダリング
wait @e1 --state hidden要素が非表示になるまで待機ローディングスピナーの消失
wait @e1 --state detached要素が DOM から削除されるまで待機ダイアログが閉じた後に続行
wait 1000ミリ秒単位で待機CSS トランジションアニメーションの完了
wait --load networkidleネットワークがアイドル状態になるまで待機ページの読み込み/ナビゲーション後
wait --url "**/dashboard"URL がパターンに一致するまで待機ログイン後のリダイレクトを検証
wait --fn "window.ready"JavaScript 式が true と評価されるまで待機カスタムの読み込み完了シグナル
wait --text "Welcome"ページにテキストが表示されるまで待機非同期テキストのレンダリング
wait --download [path]ダウンロードが完了するまで待機ダウンロード開始後の完了待ち

キャプチャ

コマンド説明適用場面
screenshot [path]スクリーンショットを撮影現在のビューポートのスナップショット
screenshot --fullページ全体のスクリーンショットを撮影ページ全体の記録/証拠
screenshot --annotate番号付きラベルを付けたスクリーンショットを撮影バグ報告/ドキュメント用のスクリーンショット
pdf <path>PDF として保存印刷可能なレポートの生成

スクリーンショットのオプション:--screenshot-dir <path>(デフォルトのディレクトリ)、--screenshot-quality <0-100>(JPEG)、--screenshot-format png|jpeg


差分とビジュアルリグレッション

diff snapshot
agent-browser diff snapshot                         # vs last snapshot in session
agent-browser diff snapshot --baseline before.txt   # vs saved snapshot file
agent-browser diff snapshot -s ".sidebar"           # scope to selector
agent-browser diff snapshot -c -d 3                 # compact + depth limit

適用場面:DOM 構造の変更検出、変更前後の比較

diff screenshot
agent-browser diff screenshot --baseline before.png
agent-browser diff screenshot --baseline before.png --output diff.png --threshold 0.1
agent-browser diff screenshot --baseline before.png -s "#main-content" --full

適用場面:ビジュアルリグレッションテスト、--threshold 0~1(デフォルトは 0.1。値が小さいほど厳密)

diff url
agent-browser diff url https://staging.example.com https://prod.example.com
agent-browser diff url https://v1.example.com https://v2.example.com --screenshot --full
agent-browser diff url <u1> <u2> --wait-until networkidle

適用場面:環境/バージョン間の比較、--screenshot でスクリーンショットも同時に比較


デバッグ

コマンド説明適用場面
inspectChrome DevTools を開く(CLI は引き続き動作します)対話的なデバッグ
consoleコンソールログを表示JS 出力の確認
console --pattern "err"コンソールログをフィルタリングエラーログのすばやい特定
console --clearコンソールログのバッファーをクリア監視ウィンドウをリセット
errorsJavaScript エラーを表示最初に確認。問題の 80% をカバー
errors --clearエラーバッファーをクリアエラー数をリセット
highlight <sel>要素を視覚的に強調表示要素の特定を視覚的に確認
network requestsすべてのネットワークリクエストを表示API 呼び出しの全記録
network requests --filter "api"URL パターンでフィルタリング特定のエンドポイントに絞り込み
network requests --type xhr,fetchリソースタイプでフィルタリングXHR/Fetch のみを表示
network requests --method POSTHTTP メソッドでフィルタリング書き込み操作のみを表示
network requests --status 4xxステータスコードでフィルタリング失敗したリクエストをすばやく特定
network requests --clearネットワークログをクリア記録をリセット
network request <requestId>リクエストとレスポンスの本文全体を表示ペイロード全体を確認
network har start [path]HAR 記録を開始ネットワーク追跡の開始
network har stopHAR ファイルの記録を停止して保存DevTools で分析するためにエクスポート
trace start [path]Playwright トレースの記録を開始Playwright のデバッグトレース
trace stopトレースを停止Playwright Trace Viewer で開く
profiler start [path]Chrome DevTools プロファイラーを開始パフォーマンス分析
profiler stopプロファイラーを停止パフォーマンスレポートをエクスポート
record start <path> [url]動画の記録を開始(WebM)デモの録画/バグの再現
record stop動画の記録を停止して保存動画を保存
record restart <path> [url]現在の記録を停止し、新しい記録を開始再録画(撮り直し)
eval "JS code"JavaScript を実行カスタムクエリ/状態の注入
clipboard readクリップボードの内容を読み取るコピー結果を検証
clipboard write "text"クリップボードに書き込むクリップボードデータを注入
clipboard copy <sel>要素のテキストをクリップボードにコピーコンテンツの抽出
clipboard paste <sel>クリップボードの内容を要素に貼り付け入力欄への貼り付け

ネットワークモック

コマンド説明適用場面
network route "**/*.png" --abort一致するリクエストをブロック画像/広告をブロックして読み込みを高速化
network route "**/api/**" --body '{"ok":true}'レスポンス本文をモック特定の API レスポンスをテスト
network unroute [url]ルートを削除(URL の指定がない場合はすべて削除)実際のネットワークに戻す

ストレージ

コマンド説明適用シーン
cookiesすべての Cookie を表示セッション状態の確認
cookies set <name> <val> --domain example.com --secure --httpOnlyCookie を設定認証トークンの注入
cookies clearすべての Cookie をクリアセッション状態のリセット
storage locallocalStorage を表示永続化データの確認
storage local get <key>localStorage のキーを取得特定のキーの読み取り
storage local set <key> <val>localStorage のキーを設定トークン/設定の注入
storage local clearlocalStorage をクリアフロントエンド状態のリセット
storage session get <key>SessionStorage(同じ API)セッション単位のデータ操作

タブ

コマンド説明適用シーン
tab new新しいタブを開く複数タブのワークフロー
tab list現在のブラウザーコンテキスト内のすべてのタブを一覧表示認識済みのタブの確認
tab <n>インデックス(0 始まり)でタブを切り替え対象のタブに切り替え
tab close <n>インデックスでタブを閉じる補助タブを閉じる

target="_blank" の制限:target="_blank" のリンクをクリックすると、ブラウザーは新しい BrowserContext で開くことがあります。agent-browser の tab list が追跡するのは、現在のコンテキスト内のタブのみです。新しいタブが tab list に表示されない場合は、tab new と open <url> を使って手動で管理してください。


セッション

コマンド説明適用シーン
session現在のセッション名を表示現在のセッションの確認
session listアクティブなセッションを一覧表示複数セッションの同時確認

認証情報ボルト

ログイン認証情報を保存して再利用し、E2E の実行ごとに手動でログインする手間を省きます。

# Save once
agent-browser auth save myapp --url http://localhost:5173/login --username admin --password secret

# Reuse in any test (auto-fills and submits login form)
agent-browser auth login myapp

# Manage
agent-browser auth list
agent-browser auth show myapp
agent-browser auth delete myapp

認証情報は AES-256-GCM(AGENT_BROWSER_ENCRYPTION_KEY)で暗号化されます。シェルの履歴に露出しないよう、--password よりも --password-stdin を使用してください。


一括実行

標準入力から複数のコマンドを JSON 配列として実行できます。シェルから順番に呼び出すより効率的です。

echo '[["fill","@e1","[email protected]"],["fill","@e2","pass"],["click","@e3"]]' | agent-browser batch
agent-browser batch --bail   # stop on first error (default: continue all)

確認

明示的な承認が必要なアクション(--confirm-actions が設定されている場合):

コマンド説明適用シーン
confirm <id>保留中のアクションを承認書き込み操作の承認
deny <id>保留中のアクションを拒否危険な操作の拒否

デバイス/エミュレーション

コマンド説明適用シーン
set viewport <w> <h>ビューポートのサイズを設定レスポンシブテスト
set viewport <w> <h> <scale>デバイスのピクセル比を指定してビューポートを設定Retina ディスプレイのテスト
set device "iPhone 15 Pro"デバイスのプリセットエミュレーションモバイルの完全なシミュレーション
set geo <lat> <lng>位置情報を設定位置情報機能のテスト
set offline [on|off]オフラインモードを切り替え(必ず set offline off で元に戻してください)PWA/オフラインモードのテスト
set headers <json>ページのオリジンに適用する HTTP ヘッダーを設定Authorization の注入
set credentials <user> <pass>HTTP ベーシック認証ベーシック認証を使用するサイト
set media darkダークモードダークテーマのテスト
set media dark reduced-motionダークモード+視差効果の低減アクセシビリティテスト

iOS Simulator(Xcode と Appium が必要):-p ios フラグを使用

agent-browser -p ios open http://localhost:3000
agent-browser -p ios --device "iPhone 15 Pro" snapshot
agent-browser -p ios device list
agent-browser -p ios swipe up

セットアップ

コマンド説明適用シーン
installChromium をダウンロード(初回セットアップ)初回インストール
install --with-depsシステム依存関係もインストール(Linux)Linux CI 環境
upgradeagent-browser を最新バージョンにアップグレード(npm のみ。Homebrew の場合:brew upgrade agent-browser)バージョン更新

セマンティックロケーター(find)

CSS セレクターよりも推奨されます。UI のリファクタリング後も使えます。

agent-browser find role button click --name "Submit"
agent-browser find role link click --name "Learn More"
agent-browser find role button click --name "Submit" --exact   # exact name match
agent-browser find text "Sign In" click
agent-browser find label "Email" fill "[email protected]"
agent-browser find placeholder "Search..." type "query"
agent-browser find testid "submit-button" click
agent-browser find alt "Company logo" click
agent-browser find first "button.primary" click
agent-browser find last "a.link" click
agent-browser find nth 2 ".card" hover     # 0-based index

有効な find サブコマンド:role、text、label、placeholder、alt、title、testid、first、last、nth ❌ find ref は存在しません。

スナップショットの Ref を使用する

snapshot は [ref=e3] のような Ref を返します。これらは find 経由ではなく、アクションコマンドで直接使用できます。

# ✅ Direct ref usage
agent-browser click @e3
agent-browser fill @e3 "hello"
agent-browser hover @e3

# ✅ Refs in assertions
agent-browser is visible @e3
agent-browser get text @e3
agent-browser get value @e3

# ❌ Wrong — ref is not a find subcommand
agent-browser find ref e3 fill "hello"

グローバルオプション

オプション説明
--headedブラウザーウィンドウを表示します。AGENT_BROWSER_HEADED=1 でも指定できます
--engine chrome|lightpandaブラウザーエンジンです。AGENT_BROWSER_ENGINE でも指定できます
-p, --provider <name>ブラウザープロバイダー:ios、browserbase、kernel、browseruse、browserless
--cdp <port>CDP 経由で Chrome に接続します
--auto-connect実行中の Chrome を自動検出します
--profile <path>永続的なブラウザープロファイル(認証情報を再利用)
--session <name>分離されたセッション
--session-name <name>Cookie と localStorage を自動保存/復元します
--state <path>JSON からストレージ状態を読み込みます
--download-path <path>デフォルトのダウンロードディレクトリです。AGENT_BROWSER_DOWNLOAD_PATH でも指定できます
--headers '{"Authorization":"Bearer token"}'認証ヘッダー
--proxy "http://127.0.0.1:7890"プロキシサーバー(フォールバックとして HTTP_PROXY/HTTPS_PROXY/ALL_PROXY 環境変数も読み込みます)
--proxy-bypass "localhost,*.internal"プロキシをバイパスします(NO_PROXY 環境変数も読み込みます)
--color-scheme dark|lightカラースキームの設定
--ignore-https-errorsTLS 証明書エラーを無視します
--allow-file-accessfile:// URL へのアクセスを許可します
--user-agent <ua>カスタム User-Agent
--allowed-domains <list>承認済みドメインに制限します(セキュリティ)。--domain-allowlist はエイリアスです
--action-policy <path>許可/ブロックするアクションカテゴリを定義する JSON ファイル
--confirm-actions <list>確認が必要なアクションカテゴリ
--confirm-interactiveTTY で対話型の確認プロンプトを表示します
--content-boundariesページ出力を境界マーカーで囲みます(--max-output の解析に役立ちます)
--max-output <chars>ページ出力を N 文字に切り詰めます。AGENT_BROWSER_MAX_OUTPUT でも指定できます
--jsonJSON 出力
--full / -fページ全体(スクリーンショット)
--annotate注釈付き出力
--debugデバッグ出力
主な環境変数
変数説明
AGENT_BROWSER_HEADED=1ブラウザーウィンドウを表示します
AGENT_BROWSER_ENGINE=chrome|lightpandaブラウザーエンジン(デフォルトは chrome)
AGENT_BROWSER_NATIVE=1⚠️ レガシーエイリアス — 受け付けられますが、0.22 以降ではドキュメントに記載されていません。指定しないことを推奨します(デフォルトのブラウザーエンジンは chrome です)
AGENT_BROWSER_DEFAULT_TIMEOUTデフォルトのアクションタイムアウト(ミリ秒、デフォルト:25000)
AGENT_BROWSER_MAX_OUTPUTページ出力の最大文字数
AGENT_BROWSER_STREAM_PORTポートで WebSocket ストリーミングを有効にします(例:9223)
AGENT_BROWSER_IDLE_TIMEOUT_MSN ミリ秒間操作がない場合にデーモンを自動終了します
AGENT_BROWSER_ENCRYPTION_KEYAES-256-GCM Auth Vault 暗号化用の 64 文字の 16 進数キー
AGENT_BROWSER_SCREENSHOT_DIRデフォルトのスクリーンショット出力ディレクトリ

コメント