您的位置:首页 > 编程语言 > ASP

phantomjs/casperjs动态传入参数

2015-08-31 13:32 579 查看
我们常用phantomjs/casperjs脚本来做一些事情。有时候希望从外部动态传入参数来进行操作。如何实现呢?介绍三种办法:

1.通过phantomjs.args获取参数

即在脚本中直接调用
phantom.args
,即可获取到命令行参数数组。注意,它默认会带三个内部参数在数组前面。第一个casperjs的安装路径,第二个casperjs的参数--cli,第三个是当前脚本名称(含路径)。之后才是执行脚本的参数。所以如果你只要获取命令行参数。需要调用
phantom.args.slice(3)
截取。

2.通过casper.cli.args获取参取

有没有办法不用这么废劲呢。有。直接调用
casper.cli.args
方法即可。

下面是以上两种方式的示例:

//1.use the phantom's args
var args = phantom.args;
console.log('phantom.args:',args);
console.log('phantomjs.args.slice(3):',args.slice(3));

//2.use the args of the casper.cli
var casper = require('casper').create();
var args2 = casper.cli.args;
console.log("casper.cli.args:",args2);
phantom.exit(0);

假设以上代码保存在testArgs.js文件中。我们执行
casperjs testArgs.js param1
param2
,输出如下结果:

phantom.args: --casper-path=/xxpath/yypath/casperjs,--cli,testArgs.js,param1,param2 phantomjs.args.slice(3): param1,param2

casper.cli.args: param1,param2

3.通过文件读取参数

还有一种不通过命令行的方式读取参数。这个就不细说了。大致思路就是你把你要读取的参数放到一个文件中。然后脚本中调用require('fs')读取文件,然后解析参数。 可能你觉得这样费事,但有时候还真得通过这种方式,比如,你的参数中含有命令行中不能正常解析的特殊字符,又比如你的参数内容非常大等等。
(转载本站文章请注明出处 开发部落 - sudodev.cn
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: