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();