
安裝 PhantomJS
以 Ubuntu Server 為範例安裝 PhantomJS 的方法如下:
sudo apt-get install phantomjs xvfb xfonts-wqy
測試 PhantomJS 擷取網頁畫面
接下來我們設計一個簡單的 Exmaple 抓取網頁畫面 (GitHub capture.js),JS 內容如下:
"use strict";
var page = require('webpage').create();
page.open('https://blog.toright.com', function() {
// show title
var title = page.evaluate(function() {
return document.title;
});
console.log(title);
// screen capture
page.render('screenshot.png');
phantom.exit();
});
上面這一段程式碼會開啟「https://blog.toright.com」然後取得 HTML Title 後輸出,接著將畫面擷取並儲存為 screenshot.png 檔案。由於我們測試的 Server 並沒有圖形介面,因此需要透過 xvfb 來執行 PhantomJS,執行命令如下:
xvfb-run phantomjs capture.js
執行後可以看到畫面輸出網頁的標題,也可以整合 jasmine 之類的測試工具進行測試,如下:
在執行目錄中也會產生網頁的抓圖 screenshot.png 檔案(圖片很長因此下半部省略),如下:
上圖擷取畫面可以看出來變成手機版的,原因是 xvfb 啟動的畫面預設只有 400px,我們可以透過以下命令指定我們希望的顯示大小,比如 1024x768 如下:
xvfb-run --server-args="-screen 0 1024x768x24" phantomjs capture.js
接下來要做什麼事就自己發揮創意吧,要搶票、測試、爬資料都可以囉,掰了!
