🍳 レシピカード
要確認検証 2026/4/5
モデル
Claude

シェルスクリプトから呼べるブラウザ自動化|browser-use CLI 2.0の実測

公式サイトのニュース収集という実業務タスクでbrowser-use CLI 2.0を検証しました。CLIで使えるためシェルスクリプトに組み込みやすく、LLM統合・MCP対応・セッション管理が標準装備。一方でボット対策サイトには30秒待機が必要で、リアルタイム処理には向きません。

ブラウザ自動化ツールは以前から存在しますが、LLM統合が標準搭載され、CLIから直接使えるとなると位置づけが変わります。

この検証では、公式サイトからのニュース収集という実業務タスクで使えるかを確認しました。実用レベルで動作した一方、ボット対策サイトでは手動待機が必要という制約も見えています。

この検証の概要

項目内容
検証日2026年4月5日
対象browser-use CLI 2.0(v0.12.6)/MITライセンス
やりたかったこと公式サイトのニュース・ブログ記事を定期収集し、ボット対策サイトにもアクセスする
結果ニュース抽出タスクは実用レベル。日付フィルタリングも正確に動作
削減効果週5時間(手動ニュース確認作業)
費用0円(OSS)

結論:シェルスクリプトから呼べることが強み

他のブラウザ自動化ツールとの差を整理すると、こうなります。

項目browser-use CLIPlaywrightSelenium
提供形態CLI + Python APIPython API複数言語対応
LLM統合ネイティブ対応なしなし
MCP対応ありなしなし
セッション管理CLI標準機能手動実装必要手動実装必要

CLIで使えるため、シェルスクリプトから呼び出しやすくなります。Pythonのコードを書かずに、既存の自動化フローへ組み込めます。

セッション管理が組み込まれている点も実務的です。複数の並行実行を、自前の実装なしで扱えます。

実測したパフォーマンス

項目測定結果
ページ読み込み速度3〜5秒
HTML取得時間2〜3秒
スクリーンショット取得1〜2秒
ニュース抽出(全体)30〜60秒
ボット対策サイト対応60〜90秒(30秒待機含む)

この数値から言えることがあります。

長時間タスクは30〜120秒かかるため、リアルタイム処理には不向きです。定期実行やバッチ処理に向いた特性になります。

ボット対策サイトへの対応

この検証の目的の1つでした。

headedモード(ブラウザを表示する形式)であれば、ボット対策のあるサイトにもアクセスできました。

ただし条件があります。headlessモードではブロックされる可能性があり、対策として30秒の待機が必要です。

この30秒が自動化の設計に影響します。「アクセスできる」ことと「自動で回せる」ことの間に、待機時間という制約が入ります。

実装の基本形

この検証で確認できた組み合わせです。

  • HTML取得 → HTMLパーサーで解析という流れが安全に実行できる
  • 取得したHTMLは完全なDOMで、パースに最適な形式
  • 日付フィルタリングも正確に動作
  • 重複除去により精度が向上

ニュース収集では、同じ記事が複数箇所からリンクされていることがあります。重複除去を入れるかどうかで、結果の使いやすさが変わります。

運用上の注意点

セッションのクリーンアップ

セッションのクリーンアップを手動で行う必要があり、忘れるとブラウザプロセスが残ります。

対処は try-finally で確実に終了処理を通すことです。

自動化スクリプトでは、途中でエラーが起きても後始末が実行される構造にしておく必要があります。放置するとプロセスが積み上がります。

環境要件

Python 3.11以上が必須で、3.10以下では動作しません。環境制約はやや厳しめです。

懸念点

  • Python 3.11以上必須(環境制約が厳しい)
  • 比較的新しいツールのため、情報が少ない
  • ボット対策は手動待機が必要(自動化に課題)
  • セッションクリーンアップを忘れるとプロセスが残る

導入コストと効果

項目内容
初期設定時間15分(インストール〜初回実行)
学習時間2〜3時間(基本操作習得〜サンプル実装)
費用0円(OSS)+ Agent API使用時のみLLM従量課金
削減効果週5時間(手動ニュース確認作業)

初期設定15分に対して週5時間の削減という試算です。無料ツールのため、実質的に即時回収になります。

操作コマンド

基本的な操作は直感的です。

  • open [URL] — ブラウザを起動してURLを開く
  • state — 現在ページの状態(クリック可能要素等)を取得
  • screenshot [PATH] — スクリーンショット保存
  • get html / get title — ページ情報の取得
  • click [INDEX] / type [TEXT] — 要素操作
  • close — セッション終了

加えて、セッション名の指定やheadedモードの切り替えもフラグで行えます。

CLIコマンドがシンプルで、エラーメッセージも分かりやすいという評価です。

よくある質問

Playwrightと何が違いますか?

CLIで使えることと、LLM統合・MCP対応・セッション管理が標準で備わっていることです。シェルスクリプトから呼び出しやすく、既存の自動化フローに組み込めます。

リアルタイム処理に使えますか?

向いていません。長時間タスクは30〜120秒かかります。定期実行やバッチ処理に適した特性です。

ボット対策のあるサイトにアクセスできますか?

headedモードであれば可能ですが、30秒程度の待機が必要になります。headlessモードではブロックされる可能性があります。

プロセスが残ってしまいます

セッションのクリーンアップが手動のためです。try-finally で確実に終了処理を通す構造にしてください。

まとめ

  • 強みはCLIで使えること。シェルスクリプトから呼び出せ、既存フローに組み込みやすい
  • LLM統合・MCP対応・セッション管理が標準。自前実装が不要
  • ニュース抽出は30〜60秒。リアルタイム処理には不向きで、定期実行向き
  • ボット対策サイトはheadedモード+30秒待機で通るが、自動化設計に影響する
  • セッションのクリーンアップは手動。try-finally で確実に通す
  • 初期設定15分・費用0円に対し、週5時間の削減という試算

自動化ツールの選定では、機能の多さより「既存のフローに組み込めるか」が効いてきます。CLIから呼べるかどうかは、その点で大きな差になります。

株式会社AI棒では、こうしたAI活用の検証を日々行い、企業の情報収集・業務自動化を支援しています。ご相談はお問い合わせフォームから、継続的な伴走支援についてはAI参謀をご覧ください。

👁 3👍 0🔖 0

コメント0

ログイン してコメントする
まだコメントはありません。最初のコメントを投稿してみませんか?