PhantomJS è un browser web senza testa scriptabile con JavaScript. È disponibile per Windows, macOS, Linux e FreeBSD. Utilizzando QtWebKit come back-end, offre un supporto veloce e nativo per vari standard web: gestione DOM, selettore CSS, JSON, Canvas e SVG.
Un semplice script per PhantomJS può caricare la pagina principale di Google, aspettare un po' e poi catturarla in un'immagine. Ad esempio:
var page = require('webpage').create();
page.open('http://www.google.com', function() {
setTimeout(function() {
page.render('google.png');
phantom.exit();
}, 200);
});
PhantomJS è una soluzione ottimale per diverse attività:
- Automatizzazione delle pagine: È possibile accedere alle pagine web e estrarre informazioni utilizzando l'API DOM standard o librerie come jQuery.
- Cattura schermo: Si può catturare programmaticamente i contenuti web, inclusi SVG e Canvas, e creare screenshot dei siti web con anteprima in miniatura.
- Test di siti web senza testa: Eseguire test funzionali con framework come Jasmine, QUnit, Mocha, WebDriver, etc.
- Monitoraggio di rete: Monitorare il caricamento delle pagine e esportare come file HAR standard. Inoltre, si può automatizzare l'analisi delle prestazioni utilizzando YSlow e Jenkins.
Per iniziare a usare PhantomJS, basta installarlo e seguire la guida di avvio rapido. Se si vuole approfondire, si possono leggere le FAQ, esplorare altri esempi e studiare la documentazione completa dell'API. Per il codice sorgente, il tracker degli issue e altre informazioni di sviluppo, visitare github.com/ariya/phantomjs.
PhantomJS è distribuito sotto la licenza BSD (SPDX: BSD-3-Clause).