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

一、使用方式

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
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值