ブラウザ自動化をマスター
OpenClawのネイティブ「Computer Use」を活用し、人間のようにクリック、入力、Webナビゲーションを行います。
はじめに
単純なAPI統合を超えて、OpenClawはグラフィカルユーザーインターフェースとのインタラクションにおいて深い能力を持っています。Computer Useモデル標準(Claude 3.5 Sonnetで普及)を使用して、ローカルエージェントがChromiumインスタンスを制御して複雑な視覚的ナビゲーションを実行できます。
このチュートリアルは、ローカルChromiumテスト環境のセットアップからWebスcraping用の堅牢なプロンプトフローの作成まで、すべてをカバーしています。
1. 前提条件
- •OpenClaw v1.3.0以降。
- •Vision + Computer Useツールをサポートするモデル(例:Anthropicモデルまたは特化型ローカルモデルQwen2-VL)。
- •ホストマシンにGoogle ChromeまたはChromiumがインストール済み。
2. ブラウザツールの有効化
OpenClaw設定ファイル(~/.openclaw/config.json)で、ブラウザ機能が有効になっていることを確認します。
3. 「座標とクリック」ワークフロー
PuppeteerやPlaywrightのような従来のDOMベースのスクレイパーとは異なり、OpenClawは画面を「見ます」。スクリーンショットを取得し、目的のボタンのX/Y座標を計算し、仮想マウスを移動してクリックします。
例:フォーム入力
エージェントに自然にプロンプトできます:
4. CAPTCHAへの対処
OpenClawは実際のブラウザプロファイルを通じて動作するため、多くの基本的なボット検出スクリプトを自然に回避します。ただし、可視のCAPTCHAには2つのオプションがあります:
- 1.ヒューマン・イン・ザ・ループ:プロンプト指示を追加:「CAPTCHAに遭遇した場合、実行を一時停止して解決を求めてください。」:
- 2.APIソルバー:ブラウザスキルと並行してサードパーティソルバースキルを統合。:
5. データ抽出(視覚スクレイピング)
複雑なHTMLネストテーブルを解析する代わりに、OpenClawに視覚的にデータを構築するよう依頼できます。
トラブルシューティング
- •クリックがターゲットを外れる:表示スケーリングが100%に設定されていることを確認してください。分数スケーリング(150%)は座標マッピングを混乱させる可能性があります。:
- •「実行可能ファイルが見つかりません」:設定のbrowser_pathがシステムのChromeインストールと完全に一致していることを確認してください。:
どちらのプロファイルを選び、何を代償にするか
これはブラウザ自動化の他のすべてを決める選択であり、機能の問題である前にセキュリティの問題です。管理プロファイルは隔離されていて機能も完全です。自分のChromeにアタッチすると、ログイン済みセッションをエージェントに渡す一方で、機能はむしろ減ります。
| 管理 "openclaw" プロファイル | 既存Chromeセッション | |
|---|---|---|
| ログイン状態 | なし。隔離プロファイル内で改めてログインします。 | あなたのもの。全サイトで既に有効です。 |
| CSSセレクタ操作 | 利用可 | 利用不可 |
| PDF出力・ダウンロード捕捉 | 利用可 | 利用不可 |
| 人がPCの前にいる必要 | なし | あり — Chromeが「リモートデバッグを許可?」を表示します |
| 誤った指示の影響範囲 | 使い捨てプロファイル内に限定 | 実セッションが到達できる全サイト |
具体的な理由がない限り管理プロファイルを使ってください。アタッチ方式は再認証が現実的でない場合のためのもので、利便性の設定ではなく「ログイン済みのブラウザをエージェントに渡す操作」として理解すべきです。
動かし、実際に動いていることを確認する
ブラウザはゲートウェイ内部のループバック上でコントロールサービスとして動作し、Chromium系ブラウザ(Chrome、Brave、Edge、Chromium)を駆動します。最初はウィンドウを表示したままにしてください。headlessは本番設定としては良いものの初回には不向きです。成功と失敗が見分けられなくなるためです。
{
browser: {
enabled: true,
headless: false,
defaultProfile: "openclaw",
},
}ブラウザが動く様子を見るのが、「エージェントが動かないと判断した」のか「ブラウザサービスが起動していない」のかを見分ける最短の方法です。信頼できたら `headless` を有効にしてください。
openclaw config patch --file ./browser.json5 openclaw gateway restart
コントロールサービスはゲートウェイと同時に起動します。browser 設定の変更は再起動するまで反映されません。「変えたのに何も起きない」の相当部分がこれです。
# Then ask for something that requires a real page load, e.g. # "open example.com and tell me the heading" # # Watch the window. If nothing opens, the service did not start — # check the gateway log before changing any other setting.
モデルが自分の知識だけでは答えられないことを尋ねてください。閲覧せずに答えられる質問は閲覧せずに答えられてしまい、ツールが動くかどうかは何も分かりません。
できることを絞る
有効な緩和策の大半は2つの設定が担います。どちらも既定では無効です。機能と安全のトレードオフであり、適切な均衡はエージェントに何を見せるかで変わるためです。
{
browser: {
evaluateEnabled: false,
ssrfPolicy: "strict",
},
}`evaluateEnabled` はページ内で任意のJSを実行することを許可します。扱いにくいサイトのスクレイピングには実際に有用ですが、同時にブラウザツールで最も広い権限でもあります。切ってみて、実際の用途で本当に壊れるものがあるか確認してください。`ssrfPolicy` は遷移先を信頼できるホストに制限します。ページの内容がエージェントの次の遷移先に影響し得る場合、これが最も効きます。
{
browser: {
profiles: {
work: { cdpPort: 9222 },
},
},
}独自の `cdpPort` を持つ名前付きプロファイルなら、たまたま開いている任意のChromeウィンドウではなく、意図的に起動したインスタンスにアタッチ範囲を限定できます。
ブラウザ自動化で人が躓く点
- ✗ページの内容は信頼できない入力です。ページにはエージェント宛の文章を書けます。閲覧してから行動するエージェントは、Webサイトから指示を受け得ます。
- ✗セッションへのアタッチは、エージェントが「ログイン済みのあなた」になることを意味します。再認証なしにブラウザができることは、すべてできます。
- ✗headlessは安全なのではなく、見えないだけです。挙動を検証した後に使うもので、エージェントが何をするかを確かめている最中に使うものではありません。
- ✗自動化で壊れるサイトはたいてい静かに壊れます。ページは読み込まれ、セレクタは何にも一致せず、エージェントは失敗ではなく「見えた内容」を報告します。