標籤:
因為需要 就學習了一下casperjs,CasperJS是一個開源的導航指令碼處理和測試載入器,基於PhantomJS(前端自動化測試載入器)編寫。由於casperjs對PhantomJS的依賴性,所以需要安裝PhantomJS。
PhantomJS最好下載最新的版本,由於網上版本較多,所以我就找到了較新的版本提供下載,是2.0.0版本的。可以在csdn上找到相應的下載資源。
PhantomJS安裝完成後,需要將PhantomJS的安裝路徑寫入到Windows的環境變數中去。過程這裡就不再細講了。
casperjs的安裝:
我使用的是casperjs的1.1版本,相容性較好。
將casperjs安裝路徑加到環境變數PATH中,例如“C:\casperjs\bin"
這樣我們就可以使用casperjs了。
使用的簡單過程為:
使用控制台命令視窗進入到你casperjs的安裝路徑中去(bin檔案夾中),然後再調用相應的js檔案。
舉例說明一下:
開啟CMD 進入到你casperjs的安裝路徑中去,(還可以通過先開啟你casperjs的安裝路徑
然後按住shift鍵右擊 選擇在此處開啟命令視窗),使用調用語句
casperjs myscript.js
完成casperjs的使用。
可能在使用的過程中你會遇到PhantomJS和casperjs不相容的情況,比如說 CasperJS
needs PhantomJS v1.× 的錯誤,
casperjs不支援phantomjs 2.x 版本解決方案暫無評論
遇到的問題如題:
首先,安裝完成後,直接運行報錯如下:
| 1 |
CasperJS needs PhantomJS v1.x |
解決方式,去掉casperjs的版本限制代碼,代碼所在目錄casperjs\bin\bootstrap.js,要去掉的代碼,當然你也可以替換成下:
| 123456789101112 |
//需刪除或替換的代碼塊(function(version) { // required version check if (version.major !== 1) { return __die(‘CasperJS needs PhantomJS v1.x‘); } if (version.minor < 8) { return __die(‘CasperJS needs at least PhantomJS v1.8 or later.‘); } if (version.minor === 8 && version.patch < 1) { return __die(‘CasperJS needs at least PhantomJS v1.8.1 or later.‘); }})(phantom.version); |
若是替換,可用下面代碼
| 1234567891011121314 |
(function (version) { // required version check if (version.major === 1) { if (version.minor < 8) { return __die(‘CasperJS needs at least PhantomJS v1.8 or later.‘); } if (version.minor === 8 && version.patch < 1) { return __die(‘CasperJS needs at least PhantomJS v1.8.1 or later.‘); } } else if (version.major === 2) { console.log("Warning PhantomJS v2.0 not yet released. There will not be any official support for any bugs until stable version is released!"); } else return __die(‘CasperJS needs PhantomJS v1.x or v2.x‘); })(phantom.version); |
操作完成後,再次運行發現又出了如下錯誤:
| 1 |
Couldn‘t find nor compute phantom.casperPath, exiting. |
還是需要修改上面的casperjs\bin\bootstrap.js檔案,在檔案上方加上如下代碼:
| 1234 |
var system = require(‘system‘);var argsdeprecated = system.args;argsdeprecated.shift();phantom.args = argsdeprecated; |
至此,可以正常運行了!
參考文章:
http://stackoverflow.com/questions/28656768/issues-running-casperjs-with-phantomjs2-0-0-on-mac-yosemite
https://github.com/n1k0/casperjs/issues/1150
windows下面安裝casperjs