本文主要是介绍phantomjs/casperjs动态传入参数,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
我们常用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)
这篇关于phantomjs/casperjs动态传入参数的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!