首页 > 上网技巧 > 电脑小技巧 > casperjs使用说明使用命令行帮助文档译文

casperjs使用说明使用命令行帮助文档译文

时间:2014-10-16 17:13 作者:QQ地带 我要评论

使用命令行
 
Casperjs使用内置的phantomjs命令行解析器,在cli模块里,它传递参数位置的命名选项
 
但是不要担心不能熟练操控CLI模块的API,一个casper实例已经包含了cli属性,允许你很容易的使用他的参数
 
让我们来看这个简单的casper脚本:
 
 
  1. var casper = require("casper").create(); 
  2.  
  3. casper.echo("Casper CLI passed args:"); 
  4.  
  5. require("utils").dump(casper.cli.args); 
  6.  
  7. casper.echo("Casper CLI passed options:"); 
  8.  
  9. require("utils").dump(casper.cli.options); 
  10.  
  11. casper.exit(); 
 
 
 
注意:
 
请注意casper-path 和 cli这两个参数,他们在通过casperjs执行casperjs脚本时被python执行
 
 
 
执行结果:
 
  1. $ casperjs test.js arg1 arg2 arg3 --foo=bar --plop anotherarg 
  2. Casper CLI passed args: [ 
  3.     "arg1"
  4.     "arg2"
  5.     "arg3"
  6.     "anotherarg" 
  7. Casper CLI passed options: { 
  8.     "casper-path""/Users/niko/Sites/casperjs"
  9.     "cli"true
  10.     "foo""bar"
  11.     "plop"true 
获取,检查,删除参数:
 
  1. var casper = require("casper").create(); 
  2. casper.echo(casper.cli.has(0)); 
  3. casper.echo(casper.cli.get(0)); 
  4. casper.echo(casper.cli.has(3)); 
  5. casper.echo(casper.cli.get(3)); 
  6. casper.echo(casper.cli.has("foo")); 
  7. casper.echo(casper.cli.get("foo")); 
  8. casper.cli.drop("foo"); 
  9. casper.echo(casper.cli.has("foo")); 
  10. casper.echo(casper.cli.get("foo")); 
  11. casper.exit(); 
执行结果:
 
  1. $ casperjs test.js arg1 arg2 arg3 --foo=bar --plop anotherarg 
  2. true 
  3. arg1 
  4. true 
  5. anotherarg 
  6. true 
  7. bar 
  8. false 
  9. undefined 
有益的建议:
如果你想检查有那些参数在你的脚本中被使用,看下面的:
 
 
  1. casper.cli.drop("cli"); 
  2. casper.cli.drop("casper-path"); 
  3.  
  4. if (casper.cli.args.length === 0 && Object.keys(casper.cli.options).length === 0) { 
  5.     casper.echo("No arg nor option passed").exit(); 
casper自有参数:
1.1版本新增:
casperjs命令有3个通用的参数:
--direct:把日志消息输出到控制台
--log-level=[debug|info|warning|error] 设置log等级
--engine=[phantomjs|slimerjs] 选择你想用的浏览器引擎,casperjs默认支持phantomjs支持的webkit,SlimerJS运行webkit内核
 
注意:
1.1版本已废弃
--direct参数已更名为--verbose。--direct尽管仍然可用,但是他被废弃是经过考虑的。
 
举例:
 
  1. $ casperjs --verbose --log-level=debug myscript.js 
 
最后但同样重要的是,你也能够使用所有的phantomjs 和cli命令行参数就像你运行其他的phantomjs脚本一样
 
  1. $ casperjs --web-security=no --cookies-file=/tmp/mycookies.txt myscript.js 
 
有益的建议:
想知道有那些phantomjs命令行参数可用,请运行phantomjs --help命令,SlimerJS支持的命令行参数几乎和phantomjs一致
 
原始参数值:
1.0版本新增
 
默认情况下,cli对象将把所有参数转换成他认为最合适的类型,比如这个例子:
 
 
  1. var casper = require('casper').create(); 
  2. var utils = require('utils'); 
  3.  
  4. utils.dump(casper.cli.get('foo')); 
  5.  
  6. casper.exit(); 
运行这个脚本:
 
  1. $ casperjs c.js --foo=01234567 
  2. 1234567 
就像你看到的,01234567被转化为数字
有时候,你仅想得到原始的字符串,你可以使用cli对象的raw属性,他包含了这个参数的原始值
 
  1. var casper = require('casper').create(); 
  2. var utils = require('utils'); 
  3.  
  4. utils.dump(casper.cli.get('foo')); 
  5. utils.dump(casper.cli.raw.get('foo')); 
  6.  
  7. casper.exit(); 
使用举例:
 
  1. $ casperjs c.js --foo=01234567 
  2. 1234567 
  3. "01234567" 

标签: casperjs
顶一下
(0)
0%
踩一下
(0)
0%

Google提供的广告