属性
page
casperjs 里的page 和phantonjs 里的webpage 对应。 在浏览器UI界面里应该就是一个tab页。
option
方法
waitFor()
一直循环等待,如果先后有两个waitFor需要执行。
那么第二个waitFor只会下面两种情况下开始执行:
(1)第一个waitFor超时之后
(2)第一个waitFor的check返回true之后
start()
start 是必须要执行的一个方法,否则没法添加 navigation steps中并运行 suite中。
超时时间
如果输入的网址不对,casper.start()之后会有一个超时时间。
初步测试从start开始到resource.received间隔大概是17秒。
此时start之后的wairFor不会马上进行check函数的执行。
casper.start(address);
//
//等待加载完成后解析
//
casper.waitFor(function check_load_status() {}, ...);
js注入
this.evaluate(function() {
function httpGet(theUrl) {
var xmlHttp = new XMLHttpRequest();
xmlHttp.open("GET", theUrl, false);
xmlHttp.send(null);
}
window.showModalDialog = function () {
var url = arguments[0];
httpGet(url);
};
return true;
});