PhantomJS - PhantomJS
![]() | |
| Původní autoři | Ariya Hidayat |
|---|---|
| Vývojáři | Ariya Hidayat |
| První vydání | 17. ledna 2011 |
| Konečné vydání | 2.1.1 / 24. ledna 2016
|
| Úložiště |
|
| Napsáno | C ++ , JavaScript , C |
| Typ | Bezhlavý prohlížeč |
| Licence | BSD |
| webová stránka |
phantomjs |
PhantomJS je ukončený bezhlavý prohlížeč používaný k automatizaci interakce s webovými stránkami. PhantomJS poskytuje rozhraní JavaScript API umožňující automatickou navigaci, snímky obrazovky, chování uživatelů a tvrzení, což z něj dělá běžný nástroj používaný ke spuštění jednotkových testů založených na prohlížeči v bezhlavém systému, jako je prostředí nepřetržité integrace . PhantomJS je založen na WebKit, což z něj dělá podobné prostředí procházení jako Safari a Google Chrome (předtím, než se z vidlice Chrome WebKit vyvinul Blink ). Je to software s otevřeným zdrojovým kódem vydaný na základě licence BSD .
Dějiny
PhantomJS byl propuštěn 23. ledna 2011 Ariya Hidayat po několika letech vývoje.
První závazek k veřejnému projektu byl v roce 2011.
Logo běžně používané k obrazovému označení PhantomJS je fluorescenční modrý duch na černém pozadí. To se týká nedostatku grafického uživatelského rozhraní nebo hlavní části prohlížeče, díky čemuž se uživatelé PhantomJS zdají jako duchové.
V březnu 2018 byl vývoj PhantomJS pozastaven z důvodu nedostatku aktivních příspěvků.
Používání
Rozhraní PhantomJS JavaScript API lze použít k otevírání webových stránek, vytváření snímků obrazovky, provádění akcí uživatelů a spouštění vloženého JavaScriptu v kontextu stránky. Například následující kód otevře Wikipedii a po načtení uloží snímek obrazovky do souboru a ukončí se.
console.log('Loading a web page');
var page = require('webpage').create();
var url = 'http://en.wikipedia.org/';
page.open(url, function (status) {
console.log('Page loaded');
page.render('wikipedia.org.png');
phantom.exit();
});
Ekosystém
PhantomJS se stal natolik cenným, že podobné projekty přijaly API jako standardní způsob interakce s bezhlavými prohlížeči. SlimerJS poskytla PhantomJS podobný API, ale na vrcholu Mozilla ‚s Gecko uspořádání motoru spíše než WebKit. Podobně se trifleJS zaměřil na engine Trident Internet Exploreru .
Krátce po vydání PhantomJS napsal Nicolas Perriault CasperJS, sadu knihoven nad PhantomJS, která rozšiřuje jeho možnosti jako klienta pro automatické testování webových stránek a umožňuje uživatelům vytvářet BDD testy využívající PhantomJS. Konečné vydání CasperJS bylo v roce 2017.
Yahoo! vyvinul verzi YSlow, která využívá PhantomJS ke shromažďování metrik výkonu pro webové stránky.
Uživatelé
Několik významných společností používá PhantomJS.
- Od roku 2015 používá Twitter pro testování jednotek QUnit a PhantomJS.
- LinkedIn od roku 2011 používal pro testování výkonu nástroje založené na PhantomJS.
- Netflix použil Sketchy, bezhlavý prohlížeč vytvořený pomocí PhantomJS, aby pochopil, co dělá, aniž by musel web navštívit od roku 2014.
- Time Warner Cable používá PhantomJS s CoffeeScript , Jasmine a JUnit XML pro kontinuální integraci Jenkins od roku 2012.
