PHP用のヘッドレスブラウザライブラリはありますか?JSエンジンが組み込まれているものが欲しいです。FOSSが望ましい。
7 に答える
PhantomJS - http://phantomjs.org/
PhantomJS は、JavaScript API を使用したヘッドレス WebKit です。DOM 処理、CSS セレクター、JSON、Canvas、SVG など、さまざまな Web 標準を高速かつネイティブにサポートしています。
PhantomJS をセットアップしてテストを開始する準備ができたら、さまざまなテスト フレームワークのいずれかを自由に選択してください。
私は最近、tutsplus からこのチュートリアルに出くわしました。
minkをチェックしてください。バックエンドとしてのゾンビのサポートです。
見栄えもよく、しっかりサポートされているようです。
編集:
残念ながら、php にはネイティブの JavaScript インタープリターがありません。そのため、javascript サポートを含む純粋なphp 実装を探している場合、現在のところ見つかりません。JavaScript をサポートするヘッドレスの場合、バックエンドで node.js や phantomjs などに依存する必要があります。
すでに見たことがあると思いますが、その他のオプションが先頭にあったり、JavaScript をサポートしていなかったりする場合は、Mink のその他のバックエンドを熟読する価値があります。
Goutte は、PHP 用の単純なヘッドレス ブラウザーです。https://github.com/fabpot/Goutte
残念ながらJSには対応していません。
単体テストを実行するためにPHPUnitでも使用できるhttp://seleniumhq.org/が必要なようです。
SimpleTest Browserもご覧ください。
ええと、誰かが PHP で実行され、PHP で実装された Javascript サポートを備えた野郎どもヘッドレス Web ブラウザを作成できます。
Seleniumプロジェクトの一部であるHTMLUnitドライバーを使用します。WebDriverはWebkit(私は信じています)に基づいているので、HTMLUnit(Seleniumから)を使用することは基本的にJavaソリューションです。次に、PHPからJavaコードを呼び出すことができると思いますが、それを機能させるための詳細はわかりません。
PHPに限定されていない場合、またはシステムコールを使用できる場合は、xvfbを確認してください。これは仮想フレームバッファーであり、これを使用して、完全なJS機能を備えたLinuxベースのブラウザー(Firefox)を実行できます。画面データを取得してファイルに書き込むこともできます。
特定のメトリックを収集するときに、これを以前に実行しました。