Casperjs - 运行 casper_script 通过节点时无法保存 cli 选项

Casperjs - not able to save cli options while running casper_script via node

我正在 运行 使用 child_process execFile 函数通过节点设置 casper 脚本,传递一些数据 cli 参数。但是当我 运行 我无法存储脚本时这些 cli 选择使用它们的变量..

var casper = require("casper").create();
casper.echo("Casper CLI passed options:");
require("utils").dump(casper.cli.options);
// I want those all dumped data into single variable i.e.,  object but couldn't able to
// var options1 = require("utils").dump(casper.cli.options); 
// var options2 = casper.cli.options; 
casper.exit();

这是日志:

['Casper CLI passed opts:\n',
  '{\n    "page": 1,\n    "store": "Hello",\n    "title": "Flex App"\n}]

我怎样才能做到这一点?

我发现我无法将这些 cli 选项存储到变量中,但可以使用

获取参数值

casper.cli.get(index)

并尽可能多地使用它(在该脚本中)..这解决了我的情况而无需存储到变量中..

希望这对过来的人有帮助。

干杯,

I want those all dumped data into single variable

通常,CLI 选项是名称-值对,例如

casperjs your_script.js --cliOne=one --cliTwo=two ....

通常情况下,将它们放入单独的变量中是有意义的,如下所示:

var cliOne = casper.cli.get('cliOne');

但是如果你想将它们全部存储到一个变量中,你仍然可以使用 casper.cli.options,它将是一个字符串,然后使用 JSON.parse(因为它是逗号分隔的名称-值对,可以建模为 JSON 字符串)。