mcpField
A
agent-browser-automate

agent-browser-automate

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

agent-browser-automate について

agent-browserでブラウザー操作を自動化するためのスキルです。フォームやファイル、タブ、認証、復旧手順を扱い、重要な操作には確認の段階を設けます。

主な機能

  1. 01フォーム入力と送信前の確認
  2. 02ファイルのアップロードとダウンロード
  3. 03認証の設定と復旧
  4. 04複数タブとクリップボードの操作
  5. 05待機と障害からの復旧手順

活用シーン

  1. 01送信前にフォーム内容を確認
  2. 02添付ファイルのアップロードやレポート保存
  3. 03ログイン切れやブラウザーダイアログへの対処

インストール

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

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

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

詳細

タスクの自動化 — 実行プロトコル

内部テンプレート。 エントリーポイント:agent-browser スキル。


禁止事項

NEVER use `fill` when you want to append — it clears first; use `type` to append
NEVER upload a file with `click` then `fill` — use dedicated `upload <sel> <path>` command
NEVER submit a form without showing field values first — judgment gate required

認証の設定(優先順位に従って1つ選択)

# Option 1 (recommended): Auth Vault — encrypted, reusable
agent-browser auth login <vault-name>
agent-browser open <url>

# Option 2: Persistent profile (local only)
agent-browser --profile ~/.myapp open <url>

# Option 3: Token injection
agent-browser open <url>
agent-browser storage local set authToken "<token>"
agent-browser reload

# Option 4: HTTP Basic Auth
agent-browser open <url>
agent-browser set credentials <user> <pass>

# Option 5: Bearer header
agent-browser --headers '{"Authorization":"Bearer <token>"}' open <url>

フォーム自動化の手順

agent-browser snapshot -i                                    # get refs
agent-browser find label "Email" fill "[email protected]"
agent-browser find label "Password" fill "<password>"
agent-browser find role button click --name "Submit"
agent-browser wait --load networkidle
agent-browser screenshot --full step-complete.png           # evidence

ファイル操作

# Upload
agent-browser find label "Attachment" upload ./file.pdf

# Download (triggers on button click, waits for completion)
agent-browser find role button click --name "Export CSV"
agent-browser wait --download ~/report.csv

# Generate PDF
agent-browser pdf ./report.pdf

複数タブの操作

agent-browser tab new
agent-browser open <second-url>
agent-browser tab 0       # switch back to first tab (0-based index)
agent-browser tab list    # see all tabs with URLs

クリップボード

# Read clipboard
agent-browser clipboard read

# Write to clipboard
agent-browser clipboard write "text to copy"

# Copy element text to clipboard
agent-browser clipboard copy @e3

# Paste clipboard into element
agent-browser clipboard paste @e5

# macOS: paste system clipboard into focused element
agent-browser keyboard inserttext "$(pbpaste)"

マウスの細かな操作(キャンバス/カンバン/描画アプリ)

agent-browser mouse move <x> <y>
agent-browser mouse down
agent-browser mouse move <x2> <y2>   # drag
agent-browser mouse up

待機パターン

# Page load
agent-browser wait --load networkidle

# Wait for element to appear
agent-browser wait "#success-toast"

# Wait for element to disappear (loading spinner)
agent-browser wait "#spinner" --state hidden

# Wait for URL to change (after form submit / redirect)
agent-browser wait --url "**/dashboard"

# Wait for text to appear
agent-browser wait --text "Upload complete"

# Wait for download to finish
agent-browser wait --download ./report.xlsx

復旧パターン

失敗復旧方法
認証の有効期限切れauth login <name> で再認証します
Auth Vault のパスワードが変更されたauth delete <name> を実行してから auth save <name> を実行します
予期しないポップアップ/ダイアログdialog status で確認してから、dialog dismiss を実行します
fill が既存の内容を上書きする追記するには type を使用します
モーダルをスクロールできないscroll down --selector ".modal-body"

判断が必要な場面

次の場合は一時停止します:

  • フォームを送信する直前(フィールドの値を表示して、確認を求めます)
  • ダウンロード/削除/支払いを実行する直前
  • 再試行後も認証に失敗した場合(新しい認証情報が必要です)

注意点

間違い対処法
Auth Vault のパスワードが変更されたauth delete を実行してから、再度 auth save を実行します。既存の設定を直接更新することはできません
fill が意図せず内容を消去する追記するには type を使用します
ファイルのアップロードに失敗するclick してから fill するのではなく、find label "..." upload <path> を使用します
モーダル内をスクロールできないscroll down --selector ".modal-body"
ダウンロードが取得されないダウンロードボタンをクリックした後、wait --download <path> を使用します
JavaScript ダイアログがデーモン全体をブロックするPlaywright は CDP レベルで割り込みます。eval "window.confirm = () => true" は機能しません(JavaScript レイヤーのオーバーライドでは CDP に到達できません)。確実な対処法は、click がブロックされている間に、2つ目の並行プロセスから dialog accept を呼び出すことだけです
読み取り専用の DOM ノード(ARIA ロールのない <p>、<span>、<div>)がスナップショットに含まれないsnapshot で公開されるのはアクセシビリティツリー(操作可能な要素のみ)です。操作できないノードの内容は、eval "document.querySelector('#id').textContent" または eval "document.querySelector('.class').innerText" で読み取ります

コメント