Skip to content

非公式本サイトは非公式の日本語ドキュメントであり、Cloudflare 公式サイトではありません。最新情報はdevelopers.cloudflare.comをご確認ください。

Chrome DevTools Protocol(CDP)

最終更新 Markdown で表示Agent セットアップ

/devtools エンドポイントは、Chrome DevTools Protocol(CDP) に沿ったセッション管理機能を提供します。これらのエンドポイントでは、永続的なブラウザーセッションの作成、複数タブの管理、CDP コマンドによるブラウザー操作ができます。高度な自動化、デバッグ、リモートからのブラウザー制御に向いています。

CDP エンドポイントは、WebSocket 接続に対応する任意の環境から利用できます。ローカルの開発マシン、外部サーバー、CI/CD パイプラインも含まれます。つまり、Node.js スクリプト、Puppeteer、Playwright、または任意の CDP 対応クライアントから Browser Run に接続できます。

始める前に、Browser Rendering - Edit 権限付きの カスタム API トークンを作成 してください。

CDP とは

Chrome DevTools Protocol(CDP)は、Chromium ベースのブラウザーを計測、検査、デバッグ、プロファイリングするためのリモートデバッグプロトコルです。Chrome DevTools がブラウザーを制御・監視するときと同じプロトコルです。Puppeteer や Playwright などの一般的なブラウザー自動化ライブラリは、Chrome DevTools Protocol の上に高レベル API を提供し、よくある作業を自動化しやすくしています。

ユースケース

ブラウザーセッションのエンドポイントでは、次のことができます。

  • 永続的なブラウザーセッションの作成と管理 — 長時間稼働するブラウザーインスタンスを起動します
  • ブラウザータブ(ターゲット)の開閉と一覧表示 — 1 つのブラウザーインスタンス内で、複数のデバッグ可能なターゲット(ページ、iframe など)を管理します
  • WebSocket で接続して CDP コマンドを送信 — ブラウザー操作をプログラムから自動化します
  • Chrome DevTools UI でライブセッションを確認 — リモートのブラウザーセッションを視覚的にデバッグ・検査します
  • 既存の CDP クライアントと統合 — Puppeteer や独自の WebSocket 実装など、標準の CDP クライアントを使えます

仕組み

ブラウザーセッションを取得したら、次の 2 とおりで操作できます。

WebSocket 経由の CDP

WebSocket エンドポイント /devtools/browser に接続すると、セッションを取得し、CDP コマンド を接続上で直接送信できます。これは CDP の標準的な使い方で、PuppeteerPlaywrightMCP クライアント を含む任意の CDP クライアントで動作します。

HTTP API

WebSocket を使わずにブラウザーのライフサイクルを管理する HTTP エンドポイントもあります。これらは標準の CDP HTTP エンドポイント に従います。

  1. セッションの作成POST /devtools/browser
  2. タブの一覧GET /devtools/browser/{session_id}/json/list
  3. タブの作成PUT /devtools/browser/{session_id}/json/new
  4. タブのクローズDELETE /devtools/browser/{session_id}/json/close/{target_id}
  5. セッションのクローズDELETE /devtools/browser/{session_id}

エンドポイントの全一覧は API リファレンス を確認してください。

トラブルシューティング

質問がある場合やエラーが発生した場合は、Browser Run の FAQ とトラブルシューティングガイド を参照してください。

役に立ちましたか?