[译文]casperjs使用说明-使用命令行
使用命令行
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-path 和 cli这两个参数,他们在通过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使用说明-使用命令行的更多相关文章
- [译文]casperjs使用说明-测试
capserjs自带了一个测试框架,它提供了一个使你能够更容易的测试你的web应用的工具集. 注意: 1.1版本变更 这个测试框架,包括它的所有API,仅能使用在casperjs test子命令下 如 ...
- [译文]casperjs使用说明-选择器
casperjs的选择器可以在dom下工作,他既支持css也支持xpath. 下面所有的例子都基于这段html代码: <!doctype html> <html> <he ...
- Kettle命令行使用说明
Kettle命令行使用说明 1.Pan——转换执行器 用来执行转换.参数与Kitchen类似,如下. 1- -version显示版本信息 2- -file=filename运行xml文件 3- -pa ...
- tput 命令行使用说明
转载自:https://blog.csdn.net/fdipzone/article/details/9993961 什么是 tput?tput 命令将通过 terminfo 数据库对您的终端会话进行 ...
- adb shell screenrecord命令行使用说明
一.查看帮助命令,参数 --help D:\>adb shell screenrecord --help Usage: screenrecord [options] <filename&g ...
- 在非SQL客户端使用命令行方式定期连接SQL Server 服务器并模拟用户查询操作,同时输出信息内容
一个很长的标题,实现的功能就是尽量使用非人力的方式模拟人去做一件事情,为了便于记录,将他们输出成文件方便查阅. 图形界面方式,使用微软自己的ConnMaker.exe,或者Microsoft 数据连接 ...
- Git命令行(转用于学习和记录)
Git命令行介绍和使用说明(持续更新) 参见:<Git 中文简体教程> 一. 命令“git”或者“git help”查询常用命令 [add]: “git add”——不但是用来添加不在版本 ...
- 7Z命令行详解
7z.exe在CMD窗口的使用说明如下: 7-Zip (A) 4.57 Copyright (c) 1999-2007 Igor Pavlov 2007-12-06 Usage: 7za <co ...
- PHP下的命令行执行 php -S localhost -t public
PHP 的命令行模式 以下是 PHP 二进制文件(即 php.exe 程序)提供的命令行模式的选项参数,您随时可以通过 PHP -h 命令来查询这些参数. Usage: php [option ...
随机推荐
- 《Android Studio实用指南》7.1 AndroidStudio代码检查工具概述
本文节选自<Android Studio实用指南> 作者: 毕小朋 目前本书已上传到百度阅读, 在百度中搜索[Anroid Studio实用指南]便可以找到本书. Android Stud ...
- 推荐一个好用的sql版本控制和美化工具SQLToolbelt
SQL Toolbelt含Red Gate公司目前出品的所有SQL Server工具和新版本.也就是说,当你使用SQL Server数据库工作时,您可以很方便的获得您所需要的一套强大的工具,包括SQL ...
- windows编程之内核对象
学好windows编程,理解内核对象还是至关重要的(●'◡'●).闲话不多说,下面先来了解一下关于内核对象的知识: 内核对象(kernel object):内核对象是用于管理进 ...
- BOOST_TYPEOF和BOOST_AUTO
1.简介 头文件<boost/typeof.hpp>里定义了两个宏:BOOST_TYPEOF和BOOST_AUTO,分别用于仿真C++新标准的typeof和auto关键字,可以在编译期自动 ...
- [Training Video - 4] [Groovy] Optional parameter in groovy
Employee.log=log Employee e1 = new Employee() log.info e1.add(1,2,3,4) // optional parameters in gro ...
- HBase列族高级配置
转自:http://blog.sina.com.cn/s/blog_ae33b83901018euz.html ------------------ HBase有几个高级特性,在你设计表时可以使用.这 ...
- EXCEL 导入 R 的几种方法 R—readr和readxl包
导入Excel数据至R语言的几种方法 如有如下Excel数据源,如何将数据导入R语言呢?今天主要来介绍几种常见的方法: 一.使用剪贴板,然后使用read.table函数: 首先选择Excel中的数据源 ...
- java调.NET webapi时间戳报错问题
JAVA时间戳长度是13位,如:1294890876859 PHP .NET时间戳长度是10位, 如:1294890859 主要最后三位的不同,JAVA时间戳在.NETPHP中使用,去掉后三位,如:1 ...
- 从零开始学习前端JAVASCRIPT — 7、JavaScript基础EVENT
1:事件驱动 1)事件:所谓事件就是js侦测到的用户的操作或是页面的一些行为(怎么发生的) 2)事件源对象:引发事件的元素.(发生在谁的身上) 3)事件处理程序:对事件处理的程序或是函数 (发生了什么 ...
- C#记录程序运行时间
主要:using System.Diagnostics;当中有Stopwatch类: 介绍如下: // 摘要: // 提供一组方法和属性,可用于准确地测量运行时间. public class Stop ...