我正在跟踪来自同一个域的多个网页的请求。我尝试自动循环循环遍历url-s数组,打开它,点击元素并等待需要评估的请求,而不是硬编码步骤。
casper.test.begin('track request', items.length, function suite(test) {
casper.start().eachThen(items,function(response){
this.thenOpen(response.data,function(response){
this.echo(response.url);
this.test.assertExist("button.track", "Button exists");
this.mouseEvent('click', 'button.track');
var res;
this.waitForResource(function check(resource){
res = resource;
return resource.url.indexOf("click_event") != -1;
}, function(){
this.echo("Resource found" + res.url);
// parse resource code
},function(){},15000);
});
casper.run(function() {
test.done();
});
});
我已经尝试过收听resoursceRequested事件了,但我尝试过没有给出结果。
那么我怎么能这样做然后解析请求来断言它的值。
谢谢。
中号
编辑:
casper.on('resource.received', function(resource) {
var match = resource.url.match('p1=tracking');
if(match != null) this.echo(resource.url);
});
我得到每个请求页面,但不是我只需要的那个,点击按钮后的那个
编辑2:
"TypeError: 'null' is not an object (evaluating 'b.parentNode')"
"[object Object]"