Développé par | Ariya Hidayat |
---|---|
Première version | |
Dernière version | 2.1.1 ()[1] |
Dépôt | github.com/ariya/phantomjs |
État du projet | Abandonné depuis le |
Écrit en | C++ |
Environnement | Windows, OSX , UNIX |
Type |
Outil de test logiciel (d) Navigateur sans tête |
Licence | BSD 3-clauses |
Site web | phantomjs.org |
PhantomJS est un navigateur web headless (sans interface graphique) scriptable utilisé pour automatiser des interactions avec des pages web. PhantomJS offre une interface de programmation JavaScript permettant la navigation automatisée, la capture d'écran, de simuler les comportements utilisateurs, et l'utilisation d'assertions. Ces possibilités en font un outil de choix pour exécuter des tests fonctionnels au sein d'un environnement d'intégration continue. PhantomJS est basé sur Webkit, ce qui en fait un environnement de navigation similaire à Safari ou à Google Chrome (bien que ce dernier utilise désormais le moteur de rendu Blink, un fork de Webkit). PhantomJS est un programme open source distribué sous licence BSD.
Le projet est abandonné par son fondateur le [2] suivant l'annonce d'ajout du mode headless dans Chrome 59 et 60.
L'API JavaScript de PhantomJS peut être utilisée pour ouvrir des pages web, prendre des captures d'écran, effectuer des actions utilisateur, et exécuter du code JavaScript injecté dans le contexte de la page. Par exemple, le code suivant va ouvrir Wikipédia, en prendre une capture d'écran une fois le chargement terminé et l'enregistrer dans un fichier.
console.log('Chargement de la page web');
var page = require('webpage').create();
var url = 'http://fr.wikipedia.org/';
page.open(url, function (status) {
console.log('Page chargée');
page.render('wikipedia.org.png');
phantom.exit();
});