使用命令行

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执行

执行结果:

  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. ]
  8. Casper CLI passed options: {
  9. "casper-path": "/Users/niko/Sites/casperjs",
  10. "cli": true,
  11. "foo": "bar",
  12. "plop": true
  13. }
  1. 获取,检查,删除参数:
  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. 执行结果:
  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. 有益的建议:
  1. 如果你想检查有那些参数在你的脚本中被使用,看下面的:
  1.  
  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();
  6. }
  1. casper自有参数:
  1. 1.1版本新增:
  1. casperjs命令有3个通用的参数:
  1. --direct:把日志消息输出到控制台
  1. --log-level=[debug|info|warning|error] 设置log等级
  1. --engine=[phantomjs|slimerjs] 选择你想用的浏览器引擎,casperjs默认支持phantomjs支持的webkit,SlimerJS运行webkit内核
  1.  
  1. 注意:
  1. 1.1版本已废弃
  1. --direct参数已更名为--verbose。--direct尽管仍然可用,但是他被废弃是经过考虑的。
  1.  
  1. 举例:
  1. $ casperjs --verbose --log-level=debug myscript.js
  1.  
  1. 最后但同样重要的是,你也能够使用所有的phantomjs cli命令行参数就像你运行其他的phantomjs脚本一样
  1. $ casperjs --web-security=no --cookies-file=/tmp/mycookies.txt myscript.js
  1.  
  1. 有益的建议:
  1. 想知道有那些phantomjs命令行参数可用,请运行phantomjs --help命令,SlimerJS支持的命令行参数几乎和phantomjs一致
  1.  
  1. 原始参数值:
  1. 1.0版本新增
  1.  
  1. 默认情况下,cli对象将把所有参数转换成他认为最合适的类型,比如这个例子:
  1.  
  1. var casper = require('casper').create();
  2. var utils = require('utils');
  3.  
  4. utils.dump(casper.cli.get('foo'));
  5.  
  6. casper.exit();
  1. 运行这个脚本:
  1. $ casperjs c.js --foo=01234567
  2. 1234567
  1. 就像你看到的,01234567被转化为数字
  1. 有时候,你仅想得到原始的字符串,你可以使用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. 使用举例:
  1. $ casperjs c.js --foo=01234567
  2. 1234567
  3. "01234567"
  1.  

[译文]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. 《Android Studio实用指南》7.1 AndroidStudio代码检查工具概述

    本文节选自<Android Studio实用指南> 作者: 毕小朋 目前本书已上传到百度阅读, 在百度中搜索[Anroid Studio实用指南]便可以找到本书. Android Stud ...

  2. 推荐一个好用的sql版本控制和美化工具SQLToolbelt

    SQL Toolbelt含Red Gate公司目前出品的所有SQL Server工具和新版本.也就是说,当你使用SQL Server数据库工作时,您可以很方便的获得您所需要的一套强大的工具,包括SQL ...

  3. windows编程之内核对象

          学好windows编程,理解内核对象还是至关重要的(●'◡'●).闲话不多说,下面先来了解一下关于内核对象的知识:       内核对象(kernel object):内核对象是用于管理进 ...

  4. BOOST_TYPEOF和BOOST_AUTO

    1.简介 头文件<boost/typeof.hpp>里定义了两个宏:BOOST_TYPEOF和BOOST_AUTO,分别用于仿真C++新标准的typeof和auto关键字,可以在编译期自动 ...

  5. [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 ...

  6. HBase列族高级配置

    转自:http://blog.sina.com.cn/s/blog_ae33b83901018euz.html ------------------ HBase有几个高级特性,在你设计表时可以使用.这 ...

  7. EXCEL 导入 R 的几种方法 R—readr和readxl包

    导入Excel数据至R语言的几种方法 如有如下Excel数据源,如何将数据导入R语言呢?今天主要来介绍几种常见的方法: 一.使用剪贴板,然后使用read.table函数: 首先选择Excel中的数据源 ...

  8. java调.NET webapi时间戳报错问题

    JAVA时间戳长度是13位,如:1294890876859 PHP .NET时间戳长度是10位, 如:1294890859 主要最后三位的不同,JAVA时间戳在.NETPHP中使用,去掉后三位,如:1 ...

  9. 从零开始学习前端JAVASCRIPT — 7、JavaScript基础EVENT

    1:事件驱动 1)事件:所谓事件就是js侦测到的用户的操作或是页面的一些行为(怎么发生的) 2)事件源对象:引发事件的元素.(发生在谁的身上) 3)事件处理程序:对事件处理的程序或是函数 (发生了什么 ...

  10. C#记录程序运行时间

    主要:using System.Diagnostics;当中有Stopwatch类: 介绍如下: // 摘要: // 提供一组方法和属性,可用于准确地测量运行时间. public class Stop ...