使用命令行

Casperjs使用内置的phantomjs命令行解析器,在cli模块里,它传递参数位置的命名选项

但是不要担心不能熟练操控CLI模块的API,一个casper实例已经包含了cli属性,允许你很容易的使用他的参数

让我们来看这个简单的casper脚本:

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();

注意:

请注意casper-pathcli这两个参数,他们在通过casperjs执行casperjs脚本时被python执行

执行结果:

$ 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
}
获取,检查,删除参数:
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
有益的建议:
如果你想检查有那些参数在你的脚本中被使用,看下面的:
 
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();
}
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尽管仍然可用,但是他被废弃是经过考虑的。
 
举例:
$ casperjs --verbose --log-level=debug myscript.js
 
最后但同样重要的是,你也能够使用所有的phantomjs 和cli命令行参数就像你运行其他的phantomjs脚本一样
$ casperjs --web-security=no --cookies-file=/tmp/mycookies.txt myscript.js
 
有益的建议:
想知道有那些phantomjs命令行参数可用,请运行phantomjs --help命令,SlimerJS支持的命令行参数几乎和phantomjs一致
 
原始参数值:
1.0版本新增
 
默认情况下,cli对象将把所有参数转换成他认为最合适的类型,比如这个例子:
 
var casper = require('casper').create();
var utils = require('utils'); utils.dump(casper.cli.get('foo')); casper.exit();
运行这个脚本:
$ casperjs c.js --foo=01234567
1234567
就像你看到的,01234567被转化为数字
有时候,你仅想得到原始的字符串,你可以使用cli对象的raw属性,他包含了这个参数的原始值
var casper = require('casper').create();
var utils = require('utils'); utils.dump(casper.cli.get('foo'));
utils.dump(casper.cli.raw.get('foo')); casper.exit();
使用举例:
$ casperjs c.js --foo=01234567
1234567
"01234567"
 

[译文]casperjs使用说明-使用命令行的更多相关文章

  1. [译文]casperjs使用说明-测试

    capserjs自带了一个测试框架,它提供了一个使你能够更容易的测试你的web应用的工具集. 注意: 1.1版本变更 这个测试框架,包括它的所有API,仅能使用在casperjs test子命令下 如 ...

  2. [译文]casperjs使用说明-选择器

    casperjs的选择器可以在dom下工作,他既支持css也支持xpath. 下面所有的例子都基于这段html代码: <!doctype html> <html> <he ...

  3. Kettle命令行使用说明

    Kettle命令行使用说明 1.Pan——转换执行器 用来执行转换.参数与Kitchen类似,如下. 1- -version显示版本信息 2- -file=filename运行xml文件 3- -pa ...

  4. tput 命令行使用说明

    转载自:https://blog.csdn.net/fdipzone/article/details/9993961 什么是 tput?tput 命令将通过 terminfo 数据库对您的终端会话进行 ...

  5. adb shell screenrecord命令行使用说明

    一.查看帮助命令,参数 --help D:\>adb shell screenrecord --help Usage: screenrecord [options] <filename&g ...

  6. 在非SQL客户端使用命令行方式定期连接SQL Server 服务器并模拟用户查询操作,同时输出信息内容

    一个很长的标题,实现的功能就是尽量使用非人力的方式模拟人去做一件事情,为了便于记录,将他们输出成文件方便查阅. 图形界面方式,使用微软自己的ConnMaker.exe,或者Microsoft 数据连接 ...

  7. Git命令行(转用于学习和记录)

    Git命令行介绍和使用说明(持续更新) 参见:<Git 中文简体教程> 一. 命令“git”或者“git help”查询常用命令 [add]: “git add”——不但是用来添加不在版本 ...

  8. 7Z命令行详解

    7z.exe在CMD窗口的使用说明如下: 7-Zip (A) 4.57 Copyright (c) 1999-2007 Igor Pavlov 2007-12-06 Usage: 7za <co ...

  9. PHP下的命令行执行 php -S localhost -t public

    PHP 的命令行模式     以下是 PHP 二进制文件(即 php.exe 程序)提供的命令行模式的选项参数,您随时可以通过 PHP -h 命令来查询这些参数. Usage: php [option ...

随机推荐

  1. mysql oracle计算两点之间的距离

    mysql函数: SET FOREIGN_KEY_CHECKS=0; DROP FUNCTION IF EXISTS `getDistance`;DELIMITER ;;CREATE DEFINER= ...

  2. 接口自动化 Windows + HttpRunner 初探(一)

    运行环境 HttpRunner 是一个基于 Python 开发的测试框架,可以运行在 macOS.Linux.Windows 系统平台上. HttpRunner 的开发环境为 macOS + Pyth ...

  3. Python实现常见算法[1]——冒泡排序

    #!/usr/bin/python def BUBBLE_SORT(L, x, y): j = y while j>x: i = x while i<j: if L[i] > L[i ...

  4. PHP异常处理详解

      PHP异常处理详解 异常处理(又称为错误处理)功能提供了处理程序运行时出现的错误或异常情况的方法. 异常处理通常是防止未知错误产生所采取的处理措施.异常处理的好处是你不用再绞尽脑汁去考虑各种错误, ...

  5. Linux的作业管理

    一.作业管理的场景 作业管理(job control)是在bash环境下使用的,主要使用在同一个bash中管理多个作业的场景,譬如登录bash之后想同时复制文件.数据搜索,编译. 但是bash的作业管 ...

  6. highchart 曲线图

    $(function() { Highcharts.setOptions({ global: { useUTC: false } }); var chart = new Highcharts.Char ...

  7. [OS] 如何在远程机器上用ctrl+alt+del键修改登录用户的密码

    远程登录某台机器,想修改当前登录用户的密码,系统提示按Ctrl+Alt+Del,在出现的界面里修改密码 但我一按这三个键,是在我本地客户机生效,而不是在远程服务器. 答案 : 向远程桌面发送Ctrl+ ...

  8. 使用Selenium&PhantomJS的方式爬取代理

    前面已经爬取了代理,今天我们使用Selenium&PhantomJS的方式爬取快代理 :快代理 - 高速http代理ip每天更新. 首先分析一下快代理,如下 使用谷歌浏览器,检查,发现每个代理 ...

  9. CentOS 7搭建FTP服务器

    安装vsftpd 命令:yum -y install vsftpd 修改ftp配置文件 命令:vim /etc/vsftpd/vsftpd.conf 按i进入insert模式后,按以下要求修改 ano ...

  10. css3之transform-origin

    transform-origin属性平时似乎用得很少,它决定了变换时依赖的原点.基本的属性特性可以参考CSS手册. 如果在H5动画项目中,用到旋转的话,它还是不能小觑的. 假如我们做一个秋千效果 其实 ...