PhantomJS - Automação de Página
PhantomJS, com a ajuda de seu módulo de APIs de página da web, pode manipular páginas da web e realizar operações como manipulação de DOM, clicar em botões, etc.
Obter imagens de uma página
O programa a seguir mostra como você pode usar o PhantomJS para buscar imagens de uma página.
var wpage = require('webpage').create();
wpage.onConsoleMessage = function(str) {
console.log(str.length);
}
wpage.open("http://phantomjs.org", function(status) {
console.log(status);
var element = wpage.evaluate(function() {
var imgdata = document.querySelectorAll('img');
var imgsrc = [];
if (imgdata) {
for (var i in imgdata) {
imgsrc.push(imgdata[0].src);
}
}
return imgsrc;
});
console.log(JSON.stringify(element));
});
O programa acima gera o seguinte output.
Success
["http://phantomjs.org/img/phantomjslogo.png","http://phantomjs.org/img/phantom
js-logo.png","http://phantomjs.org/img/phantomjslogo.png","http://phantomjs.org
/img/phantomjs-logo.png"]
É possível incluir JavaScript externo em uma página usando o injectJS webpage method. Existem muitas propriedades e métodos que podem ajudar na automação da página e fazer muitas outras coisas. Você pode consultar o módulo da página da web onde as propriedades e métodos são explicados em detalhes.