• CasperJS API介绍


     

    一、使用标准JavaScript对象作为可选参数构造CasperJS实例

    1 直接在create()函数里面使用

    var casper = require('casper').create({
        clientScripts: [
            'includes/jquery.js', // These two scripts will be injected in remote
            'includes/underscore.js' // DOM on every request
        ],
        pageSettings: {
            loadImages: false, // The WebPage instance used by Casper will
            loadPlugins: false // use these settings
        },
        logLevel: "info", // Only "info" level messages will be logged
        verbose: true // log messages will be printed out to the console
    });
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12

    2 在运行时动态添加

    var casper = require('casper').create();
    casper.options.waitTimeout = 1000;
    • 1
    • 2

    二、最基本API介绍

    1. start

    • 原 型: start(String url[, Function then])
    • 说 明:配置并启动CasperJS,然后打开url,最后进行then后面的步骤。
    • 参数: 
      • url: 需要打开的网址。
      • then: 需要执行的后续操作。
    • 实例:

      • 代码:

        var casper = require('casper').create();
        casper.start('http://www.baidu.com/', function() {
        this.echo("Hello Baidu. I am here now.");
        });
        casper.run();
        • 1
        • 2
        • 3
        • 4
        • 5
      • 运行结果: 
        这里写图片描述

    2. run

    • 原 型:run(fn onComplete[, int time])
    • 说 明:执行所有的步骤,当所有的步骤都执行完之后可以执行一个callback。
    • 参数: 
      • onComplete: 可选参数,当所有步骤执行完成之后的回调函数。注意:如果使用回调函数,一定要在回调函数里面调用exit(),便于返回。同时,由于调用exit()之后就从回调函数返回,所以在exit()之后的操作不会有任何作用。
    • 实例:

      • 代码:

        var casper = require('casper').create();
        casper.start('http://www.baidu.com/', function() {
          this.echo("Hello Baidu. I am here now.");
        });
        casper.run(function() {
        this.echo('So the whole suite ended.');
        this.exit(); // <--- don't forget me!
        this.echo('After exit().');   //<----Don't be executed.
        });
        • 1
        • 2
        • 3
        • 4
        • 5
        • 6
        • 7
        • 8
        • 9
      • 运行结果: 
        这里写图片描述

    3 then

    • 原 型:then(Function then)
    • 说 明:通过提供一个简单的函数,使用标准的方式来增加一个导航功能到执行栈。
    • 参数: 
      • Function: 简单的函数。
    • 实例:

      • 代码:

        var casper = require('casper').create();
        casper.start('http://www.baidu.com/');
        casper.then(function() {
            this.echo("I'm in Baidu.");
        });
        
        casper.then(function() {
            this.echo('I am a freshman.');
        });
        
        casper.then(function() {
            this.echo('It is amazing. Bye!');
        });
        casper.run();
        • 1
        • 2
        • 3
        • 4
        • 5
        • 6
        • 7
        • 8
        • 9
        • 10
        • 11
        • 12
        • 13
        • 14
      • 运行结果: 
        这里写图片描述

    三、综合实例

    获取当前访问的HTTP response

      1. 代码:

        var casper = require('casper').create();
        casper.start('http://www.baidu.com/');
        casper.then(function() {
            this.echo("HTTP Response Info:");
            this.echo("--------------------------------------");
        });
        
        casper.then(function(response) {
            require('utils').dump(response);
        });
        
        casper.then(function() {
            this.echo("--------------------------------------");
            this.echo("end");
        });
        casper.run();
        • 1
        • 2
        • 3
        • 4
        • 5
        • 6
        • 7
        • 8
        • 9
        • 10
        • 11
        • 12
        • 13
        • 14
        • 15
        • 16
      2. 结果: 
        这里写图片描述这里写图片描述这里写图片描述

    转载:http://blog.csdn.net/Kandy_Ye/article/details/47355169

  • 相关阅读:
    联赛模拟测试19
    联考Day5
    联赛模拟测试18(A.施工未补)
    题解 CF960G 【Bandit Blues】
    题解 P5518 【[MtOI2019]幽灵乐团 / 莫比乌斯反演基础练习题】
    概率与数学期望笔记
    题解 P3704 【[SDOI2017]数字表格】
    主定理
    【题解】Hikari与组合数
    【题解】P2303 [SDOI2012] Longge 的问题
  • 原文地址:https://www.cnblogs.com/c-x-a/p/7267063.html
Copyright © 2020-2023  润新知