このプロジェクトについて
このパッケージは、Chrome/Chromiumブラウザをプログラムで制御するために使用されるインターフェースであるChrome DevTools ProtocolのPHPクライアントを提供します。Composer経由でjakubkulhan/chrome-devtools-protocolというパッケージ名で配布され、MITライセンスの下で提供されています。
READMEから確認できる主な機能:
- Launcherクラスを通じてChromeプロセスを起動し、Contextオブジェクトを使用して操作の期限(例えば30秒のタイムアウト)を設定します。
- 起動したインスタンスでタブを開いてアクティブ化し、そのタブのDevToolsクライアントを取得します。
- Pageドメインの有効化、URLへのナビゲーション、loadイベントの待機など、ページ操作を実行します。
- PDFへの印刷や、フォーマットと品質を設定可能なスクリーンショットのキャプチャなど、ページからの出力を生成します。
- ライフサイクルを明示的に管理します。DevToolsクライアントは閉じる必要があり、終了時にはブラウザプロセスを強制終了する必要があります。
分離ブラウザコンテキスト:
このライブラリはヘッドレスChromeのブラウザコンテキストをサポートしており、Cookieやローカルストレージが共有されないシークレットウィンドウに似ていると説明されています。シークレットウィンドウとは異なり、複数の分離ブラウザコンテキストを同時に存在させることができます。この方法で作成されたセッションは、タブのdevtools()メソッドが返すものと同じDevtoolsClientInterfaceを実装します。
既存のブラウザへの接続:
Instanceはホストとポート(例えばlocalhost:9222)から直接構築でき、クライアントをすでに実行中のChromeブラウザに接続できます。このモードでは新しいプロセスは起動されないため、インスタンスを閉じる必要はありません。
READMEには、コンテキストの作成、起動、タブの処理、DevTools呼び出し、クリーンアップをカバーするPHPでの使用例が示されています。ビルドステータス、安定版バージョン、ライセンスのバッジは、それぞれCircleCI、Packagist、ライセンスファイルにリンクしています。
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.