自己写的第一个CasperJS

/**
 * Created by jane on 2017/1/2.
 */
Date.prototype.Format = function (fmt) {
    var o = {
        "M+": this.getMonth() + 1, //月份
        "d+": this.getDate(), //日
        "h+": this.getHours(), //小时
        "m+": this.getMinutes(), //分
        "s+": this.getSeconds(), //秒
        "q+": Math.floor((this.getMonth() + 3) / 3), //季度
        "S": this.getMilliseconds() //毫秒
    };
    if (/(y+)/.test(fmt)) fmt = fmt.replace(RegExp.$1, (this.getFullYear() + "").substr(4 - RegExp.$1.length));
    for (var k in o)
        if (new RegExp("(" + k + ")").test(fmt)) fmt = fmt.replace(RegExp.$1, (RegExp.$1.length == 1) ? (o[k]) : (("00" + o[k]).substr(("" + o[k]).length)));
    return fmt;
};

var casper = require('casper').create({
    waitTimeout : 20000,

    verbose: true,
    logLevel: 'debug',
    pageSettings: {
        loadImages: true,
        loadPlugins: true,
        userAgent: 'Mozilla/5.0 (iPhone; CPU iPhone OS 7_0 like Mac OS X; en-us) AppleWebKit/537.51.1 (KHTML, like Gecko) Version/7.0 Mobile/11A465 Safari/9537.53',
    },

    viewportSize: {
        width: 0, height: 0
    }
});

casper.start();
casper.thenOpen('http://www.baidu.com', function () {
    this.waitForSelector("#index-bn",
        function success() {
            this.capture("screenshot/1 baidu " + new Date().Format("yyyy-MM-dd hh:mm:ss") + ".png", {top: 0, left: 0, width: 0, height: 0});

            this.fill("form", {
                "word": "哈哈"
            }, false);

            this.then(function () {
                casper.wait(5000, function () {
                    this.echo('should appear after 5s');
                    this.click("#index-bn");
                });
            });
        },
        function fail() {
            this.capture("screenshot/error baidu " + new Date().Format("yyyy-MM-dd hh:mm:ss") + ".png", {top: 0, left: 0, width: 0, height: 0});
        });

    this.waitFor(function check() {
        return true;
    }, function then() {
        this.capture("screenshot/2 baidu " + new Date().Format("yyyy-MM-dd hh:mm:ss") + ".png", {top: 0, left: 0, width: 0, height: 0});
    })
}, null, 5000);

casper.run();
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值