3
我想凑http://www.snapdeal.com/offers/deal-of-the-day
其使用AJAX调用JSON数据加载到页面如下:CasperJS无法凑AJAX网页
json_url = http://www.snapdeal.com/json/getProductById?*
我使用的代码块下面,我得到的日志消息Waiting for AJAX request:
,但不是Waiting for AJAX request:
,而不是waitForResource
超时
casper.options.onResourceRequested = function (casper, requestData){
// loop through our AJAX urls
// create list of AJAX urls to track
var ajaxUrls = [json_url];
ajaxUrls.every(function(ajaxUrl){
// does this request match an AJAX url
if(requestData.url.indexOf(ajaxUrl) !== -1){
// it matches, so we'll wait for it to return (with 10s timeout)
//console.log("Waiting for AJAX request: " + requestData.url);
// print_object(requestData);
casper.waitForResource(requestData.url, function(){
console.log("AJAX request returned: " + requestData.url);
}, function(){
console.log("AJAX request didn't return after wait period: " + requestData.url)
}, 10000);
}
});
}
进一步调试,我记录的事件,并成功接收的URL json_url
资源,但不知道为什么waitForResource
次。运行后
casper.on('resource.received', function(resource) {
if (resource.url.indexOf('http://www.snapdeal.com/json/getProductById') != -1){
casper.echo('resource.received: ' + resource.url);
}
});
登录:
Waiting for AJAX request: http://www.snapdeal.com/json/getProductById?pogIds=671556289429,649272180,60998,685755068805,677649317861,1239888775,661402031482,636966047361,1775140628,1822452791,439536 ,Range,2042952975,1472100667,899358889,643129681532,668235859588,&lang=en
resource.received: http://www.snapdeal.com/json/getProductById?pogIds=671556289429,649272180,60998,685755068805,677649317861,1239888775,661402031482,636966047361,1775140628,1822452791,439536,Range, 2042952975,1472100667,899358889,643129681532,668235859588,&lang=en
resource.received: http://www.snapdeal.com/json/getProductById?pogIds=671556289429,649272180,60998,685755068805,677649317861,1239888775,661402031482,636966047361,1775140628,1822452791,439536,Range, 2042952975,1472100667,899358889,643129681532,668235859588,&lang=en
AJAX request didn't return after wait period: http://www.snapdeal.com/json/getProductById?pogIds=671556289429,649272180,60998,685755068805,677649317861,1239888775,661402031482,636966047361,17751406 28,1822452791,439536,Range,2042952975,1472100667,899358889,643129681532,668235859588,&lang=en Got page No Offeres Found thestartin: ~/Appli
你试过waitForSelector,它是一个更好地识别某些资源在该网页上以及该资源上的waitForSelector。 – kumar
是我第二,你必须使用waitForSelector – user3833838
是的,我已经试过waitForSelector但它仍然无法正常工作。 –