一、使用方式
var casper = require('casper').create();
var utils = require('utils');
utils.dump({plop: 42});
casper.start('http://www.baidu.com/');
casper.run();
二、有用API介绍
1. betterTypeOf
- 原 型:betterTypeOf(input)
- 说 明:提供了一个更好的typeof操作运算符,比如可以检测数组。
- 参 数:
- input:类型。
实例:
代码:
var casper = require('casper').create(); var utils = require('utils'); casper.start('http://www.baidu.com/'); casper.then(function(type){ this.echo(utils.betterTypeOf("abcde")); }); casper.run();
运行结果:
2. betterInstanceOf
- 原 型:betterInstanceOf(input, constructor)
- 说 明:提供了一个更好的instanceof操作运算符,能够检测数组实例或者处理继承。
- 参 数:
- input:类型。
- constructor:对象的构造函数。
实例:
代码:
var casper = require('casper').create(); var utils = require('utils'); casper.start('http://www.baidu.com/'); casper.then(function(){ this.echo(utils.betterInstanceOf(new Array(), Array)); this.echo(utils.betterInstanceOf('abcd', Array)); }); casper.run();
运行结果:
3. dump
- 原 型:dump(value)
- 说 明:dump一个JSON对象并给到标准输出,对于debug有很大用处。
- 参 数:
- value:需要输出的对象。
实例:
代码:
var casper = require('casper').create(); var utils = require('utils'); casper.start('http://www.baidu.com/'); casper.then(function(){ this.echo(utils.betterInstanceOf(new Array(), Array)); this.echo(utils.betterInstanceOf('abcd', Array)); }); casper.run();
运行结果:
4. getPropertyPath
- 原 型:getPropertyPath(Object obj, String path)
- 说 明:返回一个对象的外部属性,是以点(.)分隔的字符串。
- 参 数:
- obj:对象。
- path:路径字符串。
实例:
代码:
var casper = require('casper').create(); var utils = require('utils'); var account = { username: 'chuck', skills: { kick: { roundhouse: true } } } casper.start('http://www.baidu.com/'); casper.then(function(){ this.echo(utils.getPropertyPath(account, 'skills.kick.roundhouse')); }); casper.run();
运行结果:
5. isArray
- 原 型:isArray(value)
- 说 明:确定传入参数对象是否为Array实例。
- 参 数:
- value:对象。
实例:
代码:
var casper = require('casper').create(); var utils = require('utils'); casper.start('http://www.baidu.com/'); casper.then(function(){ this.echo(utils.isArray(new Array())); this.echo(utils.isArray('abcd')); }); casper.run();
运行结果:
6. isCasperObject
- 原 型:isCasperObject(value)
- 说 明:确定传入参数对象是否为Casper实例。
- 参 数:
- value:对象。
实例:
代码:
var casper = require('casper').create(); var utils = require('utils'); casper.start('http://www.baidu.com/'); casper.then(function(){ this.echo(utils.isCasperObject(casper)); this.echo(utils.isCasperObject('abcd')); }); casper.run();
运行结果:
7. isFunction
- 原 型:isFunction(value)
- 说 明:确定传入参数对象是否为一个函数。
- 参 数:
- value:对象。
实例:
代码:
var casper = require('casper').create(); var utils = require('utils'); casper.start('http://www.baidu.com/'); casper.then(function(){ this.echo(utils.isFunction(function(){})); this.echo(utils.isFunction('abcd')); }); casper.run();
运行结果:
8. isJsFile
- 原 型:isJsFile(file)
- 说 明:确定传入的文件名是否为一个JS文件。通过判断是否以.js或者.coffee为扩展名。
- 参 数:
- file:文件名。
实例:
代码:
var casper = require('casper').create(); var utils = require('utils'); casper.start('http://www.baidu.com/'); casper.then(function(){ this.echo(utils.isJsFile('test.js')); this.echo(utils.isJsFile('abcd')); }); casper.run();
运行结果:
9. isWebPage
- 原 型: isWebPage(what)
- 说 明:确定传入的参数是否为一个原始的PhantomJS的WebPage对象。
- 参 数:
- what:对象。
实例:
代码:
var casper = require('casper').create(); var utils = require('utils'); casper.start('http://www.baidu.com/'); casper.then(function(){ this.echo(utils.isWebPage(require('webpage').create())); this.echo(utils.isWebPage('abcd')); }); casper.run();
运行结果:
10. node
- 原 型:node(name, attributes)
- 说 明:创建一个HTML或者XML的node对象,同时添加可选的属性。
- 参 数:
- name:属性名。
- attributes:属性值。
实例:
代码:
var casper = require('casper').create(); var utils = require('utils'); casper.start('http://www.baidu.com/'); casper.then(function addNode(){ utils.node('Name');//add a node named Name,there is no attribute. }); casper.run();
运行结果: