CasperJS >Using the command line学習メモ

  • 12
    いいね
  • 2
    コメント
この記事は最終更新日から1年以上が経過しています。

Using the command line
http://docs.casperjs.org/en/latest/cli.html


勉強した所:


1.require('casper').create();でcasperのインスタンスを生成
2.require('utils').create();でコマンドラインのライブラリutilsを使用可能にする
3.casper.echo("some string");でコマンドラインへメッセージ出力
4.utils.dump(casper.cli);でcliオブジェクトの内容をJSON形式でコマンドラインへ出力可能
5.casper.cliオブジェクトの中にargs、options、rawの3つのオブジェクトが存在します。
5-1.utils.dump(casper.cli.args)でcasper.cli.argsオブジェクトの中身をdump可能
5-2.utils.dump(casper.cli.options)でcasper.cli.optionsオブジェクトの中身をdump可能
5-3.utils.dump(caspter.cli.raw)でcasper.cli.rawオブジェクトの中身をdump可能
5-4.rawオブジェクトの中にargsとoptionsの内容が含まれています。rawの中身はコマンドラインのままであり、型変換がされていない。optionsの中身が型変更されたものが入っています。例:01234567⇒1234567
6.Getting, checking or dropping parameters
6-1. casper.cli.has(0)でargsの中に存在するかチェック可能,
casper.cli.get(0)でargsの中のものを取得可能
casper.cli.drop(0)でargsの中のものを削除可能
6-2. casper.cli.has("key")でoptionsの中に存在するかチェック可能
casper.cli.get("key")でoptionsの中のものを取得可能
casper.cli.drop("key")でoptionsの中のものを削除可能
6-3.capser.cli.optionsの中に暗黙的にcliとcasper-pathが含まれています。
6-4.utils.dump(casper.cli.raw.get('foo'));のようにコマンドラインのままデータが取得できます。
7.コマンドラインにCasperJS実行対象のファイル以外のパラメータが入力されたかのチェック方法
7-1.Object.kesy(object).length===0でオブジェクトの中にKeyが入っているかどうかのチェック方法である
7-2.casper.cli.argsはArrayであり、casper.cli.optionsはオブジェクトである

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

8.casperjs native optionsについて-verbose --log-level=debugなどがあります。
 phantomjs --helpで調べられます


Using_the_command_line
var casper = require("casper").create();
var utils = require("utils");

casper.echo("Casper CLI passed args:");
//require("utils").dump(casper.cli.args);
utils.dump(casper.cli.args);

casper.echo("Casper CLI passed options:");
//require("utils").dump(casper.cli.options);
utils.dump(casper.cli.options);

casper.echo("casper.cli.has(0):" + casper.cli.has(0));
casper.echo("casper.cli.get(0):" + casper.cli.get(0));
casper.echo("capter.cli.has(3):" + casper.cli.has(3));
casper.echo("capter.cli.get(3):" + casper.cli.get(3));
casper.echo("-------------------")
casper.cli.drop(3);
casper.echo(casper.cli.has(3));
casper.echo(casper.cli.get(3));
casper.echo("-------------------")
casper.echo('casper.cli.has("foo"):' + casper.cli.has("foo"));
casper.echo('casper.cli.get("foo"):' + casper.cli.get("foo"));
//casper.cli.drop("foo");
casper.echo('casper.cli.has("foo"):' + casper.cli.has("foo"));
casper.echo('casper.cli.get("foo"):' + casper.cli.get("foo"));

casper.echo('casper.cli.raw.has("foo"):' + casper.cli.raw.has("foo"));
casper.echo('casper.cli.raw.get("foo"):' + casper.cli.raw.get("foo"));

casper.echo("Object.keys:[" + Object.keys(casper.cli.options) + "]");

/*
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");   
}
*/

utils.dump(casper.cli.get("foo"));
utils.dump(casper.cli.raw.get("foo"));
utils.dump(casper.cli);
casper.exit();

//コマンドで下記のように実行する
    //Example
    //C:\>casperjs c:\casperjs\lianxi\CLI.js  arg1 arg2 arg3 --foo=01234567 --plop=false anotherarg

//casperjs native options
    //Example
    //C:\>casperjs --verbose --log-level=debug c:\casperjs\lianxi\CLI.js

//
//phantomjs --help
コメントによる復習方法
//casperのインスタンスを作成する

//utilsを使用可能にする

//"Casper CLI passed args:"を出力
//casper.cli.argsをdump

//"Casper CLI passed options:"出力
//casper.cli.optionsをdump

//1番のパラメータが存在するかをチェック
//1番のパラメータを取得

//4番のパラメータが存在するかをチェック
//4番のパラメータを取得

//cli.optionsに"foo"のパラメータが存在するかをチェック
//cli.optionsのなかの"foo"のパラメータを取得

//cli.rawに"foo"のパラメータが存在するかをチェック
//cli.rawのなかの"foo"のパラメータを取得

//cli.optionsのなかの"foo"のパラメータを削除する
//cli.optionsのなかの"foo"のパラメータが存在するかをチェック
//cli.optionsのなかの"foo"のパラメータを取得

//cli.rawのなかの"foo"のパラメータを削除する
//cli.rawのなかの"foo"のパラメータが存在するかをチェック
//cli.rawのなかの"foo"のパラメータを取得

// removing default options passed by the Python executable

//cli.optionsから"foo"を取得
//cli.rawから"foo"を取得

//casper.exit();