zoukankan      html  css  js  c++  java
  • windows下面安装casperjs

    因为需要 就学习了一下casperjs,CasperJS是一个开源的导航脚本处理和测试工具,基于PhantomJS(前端自动化测试工具)编写。由于casperjs对PhantomJS的依赖性,所以需要安装PhantomJS。

    PhantomJS最好下载最新的版本,由于网上版本较多,所以我就找到了较新的版本提供下载,是2.0.0版本的。可以在csdn上找到相应的下载资源。

    PhantomJS安装完成后,需要将PhantomJS的安装路径写入到Windows的环境变量中去。过程这里就不再细讲了。

    casperjs的安装:

    我使用的是casperjs的1.1版本,兼容性较好。

    将casperjs安装路径加到环境变量PATH中,例如“C:casperjsin"

    这样我们就可以使用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的版本限制代码,代码所在目录casperjsinootstrap.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.

    还是需要修改上面的casperjsinootstrap.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

  • 相关阅读:
    WinForm的Chart控件画条形图
    WinForm的Chart控件画折线图
    自定义控件
    左侧收缩菜单
    数组
    C#生成随机数的三种方法
    WinForm之GDI手动双缓冲技术
    WinForm之GDI画图步骤
    WinForm GDI编程:Graphics画布类
    翻译:《实用的Python编程》08_02_Logging
  • 原文地址:https://www.cnblogs.com/mmbbflyer/p/5881478.html
Copyright © 2011-2022 走看看