且构网

分享程序员开发的那些事...
且构网 - 分享程序员编程开发的那些事

如何通过命令行将变量作为参数传递给 CasperJS 脚本?

更新时间:2023-11-07 14:00:52

文档 说你可以传递命令行参数.

The documentation says you can pass command-line parameters.

CasperJS 附带一个内置的命令行解析器PhantomJS 的一个,位于 cli 模块中;它公开传递的参数作为位置选项和命名选项

CasperJS ships with a built-in command line parser on top of PhantomJS’ one, located in the cli module; it exposes passed arguments as positional ones and named options

但是不用担心操纵cli模块解析API,一个Casper实例总是包含一个随时可用的 cli 属性,允许轻松访问所有这些参数.

But no worries for manipulating the cli module parsing API, a Casper instance always contains a ready to use cli property, allowing easy access of all these parameters.

示例代码:

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();

执行结果:

$ casperjs test.js arg1 arg2 arg3 --foo=bar --plop anotherarg Casper

$ 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 }