PhantomJS 网页自动化
PhantomJS通过其webpage模块的API可以操作网页并执行诸如DOM操作、点击按钮等操作。
从页面中获取图片
以下程序展示了如何使用PhantomJS从一个页面中获取图片。
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));
});
以上程序生成以下 输出 。
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"]
可以使用 injectJS网页方法 在页面中包含外部JavaScript。有许多属性和方法可以帮助页面自动化和其他许多操作。您可以参考网页模块中详细说明这些属性和方法。