![]() | |
| 原作者 | アリヤ・ヒダヤット |
|---|---|
| 開発者 | アリヤ・ヒダヤット |
| 初回リリース | 2011年1月17日 |
| 最終リリース | 2.1.1 [1]
/ 2016年1月24日 |
| リポジトリ |
|
| 書かれた | C++、JavaScript、C |
| タイプ | ヘッドレスブラウザ |
| ライセンス | BSDS [2] |
| Webサイト | ファントムjs.org |
PhantomJS は、 Web ページの操作を自動化するために使用される廃止されたヘッドレス ブラウザーです。PhantomJS は、自動ナビゲーション、スクリーンショット、ユーザーの動作、アサーションを可能にするJavaScript API を提供し、継続的インテグレーション環境などのヘッドレス システムでブラウザーベースのユニット テストを実行するために使用される一般的なツールになっています。PhantomJS はWebKitに基づいており、 SafariやGoogle Chrome (Chrome の WebKit のフォークがBlinkに進化する前)に似たブラウジング環境になっています。これは、 BSD ライセンスの下でリリースされたオープンソース ソフトウェアです。[2]
歴史
PhantomJSは数年の開発期間を経て、2011年1月23日にAriya Hidayatによってリリースされました。[3]
パブリックプロジェクトへの最初のコミットは2011年でした。[4]
PhantomJS を視覚的に表すためによく使用されるロゴは、黒の背景に蛍光ブルーのゴーストが描かれています。これは、グラフィカル ユーザー インターフェイス、つまりブラウザーの本体がないため、PhantomJS ユーザーがゴーストのように見えることを意味します。
2018年3月、PhantomJSの開発は積極的な貢献が不足したため中断されました。[5]
使用法
PhantomJS JavaScript API を使用すると、Web ページを開いたり、スクリーンショットを撮ったり、ユーザー アクションを実行したり、ページ コンテキストで挿入された JavaScript を実行したりできます。たとえば、次のコードは Wikipedia を開き、ロード時にスクリーンショットをファイルに保存して終了します。
console.log ( 'Webページを読み込んでいます' ) ; var page = require ( 'webpage' ). create ( ); var url = 'http://en.wikipedia.org/' ; page.open ( url , function ( status ) { console.log ( 'ページが読み込まれました' ); page.render ( ' wikipedia.org.png' ); phantom.exit ( ); } );
エコシステム
PhantomJS は、同様のプロジェクトがヘッドレス ブラウザーと対話するための標準的な方法として API を採用するほど価値のあるものになりました。SlimerJS は PhantomJS のような API を提供しましたが、WebKit ではなくMozillaのGecko ブラウザー エンジン上で動作していました。 [6]同様に、trifleJS はInternet ExplorerのMSHTMLエンジンを対象としていました。[7]
PhantomJSのリリース直後、Nicolas PerriaultはCasperJSを作成しました。これはPhantomJS上のライブラリスイートであり、自動Webページテストのクライアントとしての機能を拡張し、ユーザーがPhantomJSを活用してBDDテストを作成できるようにします。CasperJSの最終リリースは2017年でした。[8]
Yahoo!はPhantomJSを活用してウェブサイトのパフォーマンスメトリクスを収集するYSlowのバージョンを開発しました。[9]
ユーザー
いくつかの著名な企業が PhantomJS を使用しています。
- Twitterは2015年時点でユニットテストにQUnitとPhantomJSを使用していました。[10]
- LinkedInは2011年からパフォーマンステストにPhantomJSベースのツールを使用しています。[11]
- Netflixは2014年現在、サイトにアクセスしなくてもサイトの動作を理解するために、PhantomJSで構築されたヘッドレスブラウザであるSketchyを使用していました。[12]
- Time Warner Cableは2012年からJenkinsの継続的インテグレーションにCoffeeScript、Jasmine、JUnit XMLを組み合わせたPhantomJSを使用していました。[13]
参照
参考文献
- ^ 「リリース · ariya/phantomjs」。GitHub 。2017年4月21日閲覧。
- ^ ab "phantomjs/LICENSE.BSD at master · ariya/phantomjs". GitHub .
- ^ 「明日デバッグできないものを今日は書かないでください」ariya.blogspot.com 2011年1月23日2015年7月20日閲覧。
- ^ “アリヤ/ファントムjs”. GitHub 。2015 年7 月 20 日に取得。
- ^ 「プロジェクトのアーカイブ:開発の一時停止」ariya/phantomjs . Github. 2018-03-03.
- ^ Laurent Jouanneau. 「FaQ - SlimerJS」. slimerjs.org . 2015 年7 月 20 日閲覧。
- ^ "trifleJS" . 2015年7月20日閲覧。
- ^ 「CasperJS on GitHub」。GitHub 。2021年4月11日閲覧。
- ^ Marcel Duran. 「YSlow - 公式オープンソースプロジェクトウェブサイト」yslow.org . 2015年7月20日閲覧。
- ^ 「Leo Lanese on Twitter」。Twitter 。 2015年7月20日閲覧。
- ^ phegaro (2011年10月11日). 「LinkedIn Mobile: How do we do it?」. SlideShare . 2015年7月20日閲覧。
- ^ Michael Mimoso (2014 年 8 月 26 日)。「Netflix のオープン ソース セキュリティ ツールがさまざまな課題を解決」。threatpost.com。2015年7月 20 日閲覧。
- ^ “one year of wandering headlessly”. ofilabs.com . 2015年7月22日時点のオリジナルよりアーカイブ。2015年7月20日閲覧。
外部リンク
- 公式サイト
- GitHub

