CasperJS学习笔记--命令行参数
2015-12-05 15:25
671 查看
参考http://docs.casperjs.org/en/latest/cli.html
具体的说,使用cli模块传参数。
命令行参数分为普通参数positional ones 和针对内置的选项named options的参数。
来带参调用一下
带参执行结果:
–log-level=[debug|info|warning|error] :设置日志显示级别
–engine=[phantomjs|slimerjs]: 选择浏览器引擎。支持基于Webkit的PhantomJS和基于Gecko的SlimerJS。
此外还支持标准PhantomJS CLI选项传入casperjs命令行 (以后再研究)
执行结果
默认情况下cli对象会被转换为Number,可以通过raw属性获取原始参数值。
命令行原理简介
CapserJS内置命令行工具,建立在PhantomJS的层次之上(也就是说传PhantomJS的参数是可以识别的)具体的说,使用cli模块传参数。
命令行参数分为普通参数positional ones 和针对内置的选项named options的参数。
命令行传参的几个例子
用casper.cli 就可以取得传入的参数。分大类整体取参数
//test.js var casper = require("casper").create(); casper.echo("Casper CLI passed args:"); require("utils").dump(casper.cli.args); casper.echo("Casper CLI passed options:"); require("utils").dump(casper.cli.options); casper.exit();
来带参调用一下
$ casperjs test.js arg1 arg2 arg3 --foo=bar --plop anotherarg Casper CLI passed args: [ "arg1", "arg2", "arg3", "anotherarg" ] Casper CLI passed options: { "casper-path": "/Users/niko/Sites/casperjs", "cli": true, "foo": "bar", "plop": true }
取单个参数和清空参数
//test1.js var casper = require("casper").create(); casper.echo(casper.cli.has(0)); casper.echo(casper.cli.get(0)); casper.echo(casper.cli.has(3)); casper.echo(casper.cli.get(3)); casper.echo(casper.cli.has("foo")); casper.echo(casper.cli.get("foo")); casper.cli.drop("foo"); casper.echo(casper.cli.has("foo")); casper.echo(casper.cli.get("foo")); casper.exit();
带参执行结果:
$ casperjs test.js arg1 arg2 arg3 --foo=bar --plop anotherarg true arg1 true anotherarg true bar false undefined
一个检测脚本执行时是否带了参数的方法
// removing default options passed by the Python executable casper.cli.drop("cli"); casper.cli.drop("casper-path"); if (casper.cli.args.length === 0 && Object.keys(casper.cli.options).length === 0) { casper.echo("No arg nor option passed").exit(); }
casperjs命令行的3个可选参数
–verbose(以前叫–direct): 将日志打印到控制台–log-level=[debug|info|warning|error] :设置日志显示级别
–engine=[phantomjs|slimerjs]: 选择浏览器引擎。支持基于Webkit的PhantomJS和基于Gecko的SlimerJS。
此外还支持标准PhantomJS CLI选项传入casperjs命令行 (以后再研究)
原生参数值获取(避免参数被自动转换)
//test2.js var casper = require('casper').create(); var utils = require('utils'); utils.dump(casper.cli.get('foo')); casper.exit();
执行结果
$ casperjs test2.js --foo=01234567 1234567 "01234567"
默认情况下cli对象会被转换为Number,可以通过raw属性获取原始参数值。
相关文章推荐
- ROS Tutorials to Start Working with Arduino and Raspberry Pi
- 自定义ASP.NET MVC Html辅助方法
- asp.net获取当前网址url的各种属性(文件名、参数、域名 等)的代码
- ASP.NET MVC – 关于Action返回结果类型的事儿(上)
- ASP.NET MVC – 关于Action返回结果类型的事儿(上)
- raspberry pi 内核(Kernel)的交叉编译
- Aspire Project
- IIS处理Asp.net请求
- ASP.NET 5 Configuration
- IIS6中ASP.NET实现对静态文件的授权控制
- Aspect Based Sentiment Analysis datasets
- 树莓派(Raspberry pi)下安装七牛云c/c++ SDK时遇到的问题及解决方案
- asp.net简单小爬虫
- ASP.NET 5 and .NET Core RC Ready for Production
- ASP.NET MVC5-ModelStateDictionary类ModelState模型验证
- Asp.Net
- Sping AOP用AspectJ注解的方式拦截不到SpringMVC的controller方法?
- ASP.NET MVC中防止XXS跳转
- asp.net 计算两个日期的时间差
- asp.net简单实现页面换肤的方法