因为需要 就学习了一下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的更多相关文章

  1. [Python爬虫] 在Windows下安装PhantomJS和CasperJS及入门介绍(上)

    最近在使用Python爬取网页内容时,总是遇到JS临时加载.动态获取网页信息的困难.例如爬取CSDN下载资源评论.搜狐图片中的“原图”等,此时尝试学习Phantomjs和CasperJS来解决这个问题 ...

  2. 在windows下安装gulp —— 基于 Gulp 的前端集成解决方案(一)

    相关连接导航 在windows下安装gulp —— 基于 Gulp 的前端集成解决方案(一) 执行 $Gulp 时发生了什么 —— 基于 Gulp 的前端集成解决方案(二) 常用 Gulp 插件汇总 ...

  3. 在Windows上安装Elasticsearch 5.0

    在windows上安装Elasticsearch Elasticsearch可以使用.zip软件包安装在Windows上. elasticsearch-service.bat命令,它将设置Elasti ...

  4. Windows 下安装 MongoDB

    Windows 下安装 MongoDB 的步骤:1.官网www.mongodb.com下载安装包或zip包2.解压下载的文件到文件夹 D:\mongo .3.使用管理员权限打开CMD,导航到目录 D: ...

  5. 在 Windows 上安装Rabbit MQ 指南

    rabbitMQ是一个在AMQP协议标准基础上完整的,可服用的企业消息系统.他遵循Mozilla Public License开源协议.采用 Erlang 实现的工业级的消息队列(MQ)服务器. Ra ...

  6. windows下 安装Kali Linux到 U盘的方法

    作者:玄魂工作室 \ 2016年10月20日 把Kali Linux安装到U盘好处很多,可以从U盘启动使用整个电脑的硬件资源, 可以随身携带,减少对自己电脑的影响. 今天要给大家讲的是如何在windo ...

  7. Windows无法安装到这个磁盘。请确保在计算机的BIOS菜单中启用了磁盘控制器

    今天一朋友问我这个问题,呃,以前我也遇到过,但忘记记录了,这次就记录一下吧,就懒得打字了,图片里面很清楚了 不说点什么的话是不是太水了O(∩_∩)O~,好吧扩充一下: Windows无法安装到这个磁盘 ...

  8. Coreseek Windows下安装调试

    由于项目需要全文检索,后面就去网上查了下资料,找到了Sphinx[中文是狮身人面像]这个全文检索引擎,听说挺好用的,不过没有中文分词.后面又去找了一下,找到了Coreseek,一款中文全文检索/搜索软 ...

  9. 从零开始学 Java - Windows 下安装 Tomcat

    谁都想分一杯羹 没有一个人是真正的无私到伟大的,我们试着说着做自己,与人为善,世界和平!殊不知,他们的真实目的当你知道后,你会被恶心到直摇头并下意识地迅速跑开,下辈子都不想见到他.不过,他没错,你也没 ...

随机推荐

  1. 【转】PHP 位运算应用口诀

    位运算应用口诀 清零取位要用与,某位置一可用或 若要取反和交换,轻轻松松用异或 移位运算 要点 1 它们都是双目运算符,两个运算分量都是整形,结果也是整形. 2 "<<" ...

  2. Linux中的软硬链接

    说到Linux中的软硬链接,就必须谈一下Linux的文件系统的组成的重要部分iNode和block. 首先是iNode,先用一张图了解一下iNode在Linux文件系统中的地位: Linux中的文件的 ...

  3. zjuoj 3604 Tunnel Network

    http://acm.zju.edu.cn/onlinejudge/showProblem.do?problemCode=3604 Tunnel Network Time Limit: 2 Secon ...

  4. objective-c第六章课后练习5

    题5:用于翻转从终端输入数的各个位.然后修改这个程序,以便正确的输入负数. code: ,result_5 = ; NSLog(@"input num_5:"); scanf(&q ...

  5. Android -- 自定义View小Demo,绘制四位数随机码(一)

    1,现在有这样一个需求,实现显示随机随机数可能在代码中直接很简单的就实现了,但是现在我们直接自定义View来实现这个效果,那么我们来分析一波吧,我们允许开发者自己设置这个textview的大小,颜色, ...

  6. submit

    前台<body>中的代码: <body> <div id="top"> </div> <form id="login ...

  7. s事件之event.preventDefault()与event.stopPropagation()的阻止默认事件和阻止事件冒泡的用法

    event.preventDefault()用法介绍 该方法将通知 Web 浏览器不要执行与事件关联的默认动作(如果存在这样的动作).例如,如果 type 属性是 "submit" ...

  8. 利用BMFont和NGUI制作字体集

    Unity中常常需要制作字体,也算是Unity的基本优势吧!其实质就是BMFont和NGUI制作字体.这里把步骤介绍一下: 1.先下载BMFont这个工具 2.Font Settings  设置:(1 ...

  9. 打包app命令行

    $ cd myApp $ ionic platform add android $ ionic build android $ ionic emulate android

  10. HTML5视频播放在ios下浮动元素无法点击的解决方案

    最近许多人在微博上问到在iPad.iPhone.iTouch等设备上使用HTML5播放视频,在视频上方悬浮一个div元素,div内的元素无法点击的情况,而在PC浏览器上没有这个问题. 这个现象是设备特 ...