[譯文]casperjs使用說明-使用命令列

來源:互聯網
上載者:User

使用命令列 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 anotherargCasper 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 anotherargtruearg1trueanotherargtruebarfalseundefined有益的建議:如果你想檢查有那些參數在你的指令碼中被使用,看下面的: 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=012345671234567就像你看到的,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=012345671234567"01234567" 

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.