安裝 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
接下來要做什麼事就自己發揮創意吧,要搶票、測試、爬資料都可以囉,掰了!