Casperjs – 在通过节点运行casper_script时无法保存cli选项
我正在运行casper脚本通过节点使用child_process execFile函数,传递一些数据cli参数..但是,当我运行的脚本我无法将这些cli opts存储到variables使用它们..
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 ie, 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}]
我怎么能做到这一点?
我希望把所有转储的数据转换成单个variables
通常,CLI选项是名称 – 值对
casperjs your_script.js --cliOne=one --cliTwo=two ....
多数情况下,把它们变成个体variables是很有意义的,如下所示:
var cliOne = casper.cli.get('cliOne');
但是,如果要将所有这些variables存储到一个variables中,仍然可以使用casper.cli.options
(它将是一个string),然后使用JSON.parse(因为它是逗号分隔的名称 – 值对,可以build模为一个JSONstring)。
我发现我无法将这些cli opts存储到variables中,但可以使用params值
casper.cli.get(index)
并尽可能多地使用它(在该脚本中)..这解决了我的情况下,不存储到variables..
希望这可以帮助别人来到这里。
干杯,