zoukankan      html  css  js  c++  java
  • [译文]casperjs使用说明-使用命令行

    使用命令行

    Casperjs使用内置的phantomjs命令行解析器,在cli模块里,它传递参数位置的命名选项

    但是不要担心不能熟练操控CLI模块的API,一个casper实例已经包含了cli属性,允许你很容易的使用他的参数

    让我们来看这个简单的casper脚本:

    var casper = require("casper").create();

    casper.echo("Casper CLI passed args:");

    require("utils").dump(casper.cli.args);

    casper.echo("Casper CLI passed options:");

    require("utils").dump(casper.cli.options);

    casper.exit();

    注意:

    请注意casper-pathcli这两个参数,他们在通过casperjs执行casperjs脚本时被python执行

    执行结果:

    $ casperjs test.js arg1 arg2 arg3 --foo=bar --plop anotherarg
    Casper CLI passed args: [
        "arg1",
        "arg2",
        "arg3",
        "anotherarg"
    ]
    Casper CLI passed options: {
        "casper-path": "/Users/niko/Sites/casperjs",
        "cli": true,
        "foo": "bar",
        "plop": true
    }
    获取,检查,删除参数:
    var casper = require("casper").create();
    casper.echo(casper.cli.has(0));
    casper.echo(casper.cli.get(0));
    casper.echo(casper.cli.has(3));
    casper.echo(casper.cli.get(3));
    casper.echo(casper.cli.has("foo"));
    casper.echo(casper.cli.get("foo"));
    casper.cli.drop("foo");
    casper.echo(casper.cli.has("foo"));
    casper.echo(casper.cli.get("foo"));
    casper.exit();
    执行结果:
    $ casperjs test.js arg1 arg2 arg3 --foo=bar --plop anotherarg
    true
    arg1
    true
    anotherarg
    true
    bar
    false
    undefined
    有益的建议:
    如果你想检查有那些参数在你的脚本中被使用,看下面的:
     
    casper.cli.drop("cli");
    casper.cli.drop("casper-path");
    
    if (casper.cli.args.length === 0 && Object.keys(casper.cli.options).length === 0) {
        casper.echo("No arg nor option passed").exit();
    }
    casper自有参数:
    1.1版本新增:
    casperjs命令有3个通用的参数:
    --direct:把日志消息输出到控制台
    --log-level=[debug|info|warning|error] 设置log等级
    --engine=[phantomjs|slimerjs] 选择你想用的浏览器引擎,casperjs默认支持phantomjs支持的webkit,SlimerJS运行webkit内核
     
    注意:
    1.1版本已废弃
    --direct参数已更名为--verbose。--direct尽管仍然可用,但是他被废弃是经过考虑的。
     
    举例:
    $ casperjs --verbose --log-level=debug myscript.js
     
    最后但同样重要的是,你也能够使用所有的phantomjs 和cli命令行参数就像你运行其他的phantomjs脚本一样
    $ casperjs --web-security=no --cookies-file=/tmp/mycookies.txt myscript.js
     
    有益的建议:
    想知道有那些phantomjs命令行参数可用,请运行phantomjs --help命令,SlimerJS支持的命令行参数几乎和phantomjs一致
     
    原始参数值:
    1.0版本新增
     
    默认情况下,cli对象将把所有参数转换成他认为最合适的类型,比如这个例子:
     
    var casper = require('casper').create();
    var utils = require('utils');
    
    utils.dump(casper.cli.get('foo'));
    
    casper.exit();
    运行这个脚本:
    $ casperjs c.js --foo=01234567
    1234567
    就像你看到的,01234567被转化为数字
    有时候,你仅想得到原始的字符串,你可以使用cli对象的raw属性,他包含了这个参数的原始值
    var casper = require('casper').create();
    var utils = require('utils');
    
    utils.dump(casper.cli.get('foo'));
    utils.dump(casper.cli.raw.get('foo'));
    
    casper.exit();
    使用举例:
    $ casperjs c.js --foo=01234567
    1234567
    "01234567"
     
  • 相关阅读:
    【如何入门ACM】
    HDU
    HDU 6107 Typesetting
    bzoj 3223: Tyvj 1729 文艺平衡树
    51Nod 1781 跑的比谁都快
    51Nod 1331 狭窄的通道
    51Nod 1555 布丁怪
    hihocoder 1035 : 自驾旅行 III
    51Nod 1196 字符串的数量
    51Nod 1530 稳定方块
  • 原文地址:https://www.cnblogs.com/reach296/p/3797029.html
Copyright © 2011-2022 走看看