phontomjs
phontomjs及其小巧可愛搪泳,它通過模擬瀏覽器行為磕诊,幫助你進行爬蟲及自動化測試。
下載地址:官網下載地址
下載后解壓至任意位置冰单,添加此位置到系統(tǒng)環(huán)境中幌缝,就可以在命令行中使用啦。
案例1:
將下列代碼保存至hello.js中
console.log('Hello, world!');
phantom.exit();
在cmd中诫欠,輸入命令涵卵,phantomjs %yourpath%\hello.js
%yourpath%是你存放hello.js的位置
輸出結果:
Hello, world!
console.log()用于輸出信息至終端
phantom.exit用來中止并退出終端,如果沒有這個語句荒叼,終端就會一直運行
web page對象
該對象可以幫助你對網頁進行加載和分析轿偎,請看如下案例:
var page = require('webpage').create();
page.open('http://example.com', function(status) {
?????? ?console.log("Status: " + status);
???? ?? if(status === "success") {
???? ?????? page.render('example.png');
??? }
??? phantom.exit();
});
這是對于webpage對象的一個簡單應用,它加載網頁并把它作為圖片保存至腳本的文件夾被廓。
requre是一個工廠函數(shù)坏晦,可以得到要用的對象
evaluate()函數(shù)--執(zhí)行javascript
var page = require('webpage').create();
page.open(url, function(status) {
??? var title = page.evaluate(function() {
??????? return document.title;\??? });??? console.log('Page title is ' + title);??? phantom.exit();
});
該案例使用javascript返回頁面的標題
var page = require('webpage').create();
page.onResourceRequested = function(request) {
??? console.log('Request ' + JSON.stringify(request, undefined, 4));
};
page.onResourceReceived = function(response) {
??? console.log('Receive ' + JSON.stringify(response, undefined, 4));
};
page.open(url);
網頁在加載時會調用
onResourceRequested = function(request){}
onResourceReceived = function(response){}
可以復寫這兩個方法來為你服務