首页 > 代码库 > windows下面安装casperjs
windows下面安装casperjs
因为需要 就学习了一下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,要去掉的代码,当然你也可以替换成下:
1 2 3 4 5 6 7 8 9 10 11 12 | //需删除或替换的代码块 ( 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); |
若是替换,可用下面代码
1 2 3 4 5 6 7 8 9 10 11 12 13 14 | ( 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文件,在文件上方加上如下代码:
1 2 3 4 | 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
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。