CasperJS API介绍(3)-- CasperJS utils module API介绍

来源:互联网 发布:比思特区论坛最新域名 编辑:程序博客网 时间:2024/05/06 13:23

一、使用方式

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();
    • 运行结果:
      dump运行结果

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();
    • 运行结果:
      getPropertyPath

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();
    • 运行结果:
      isArray

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();
    • 运行结果:
      isCasperObject

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();
    • 运行结果:
      isJsFile

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();
    • 运行结果:
      isJsFile

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();
    • 运行结果:
      node

0 0