diff --git a/wpull/driver/PhantomJS.hx b/wpull/driver/PhantomJS.hx index c4359551..a11f0ed6 100644 --- a/wpull/driver/PhantomJS.hx +++ b/wpull/driver/PhantomJS.hx @@ -220,7 +220,7 @@ class PhantomJS { response: response }); activityCounter += 1; - if (pageLoaded) { + if (pageLoaded && response.stage == "end") { pendingResourcesAfterLoad -= 1; } } @@ -377,6 +377,8 @@ class PhantomJS { var duration = Date.now().getTime() - startDate.getTime(); + trace('pendingResourcesAfterLoad=$pendingResourcesAfterLoad'); + if (pendingResourcesAfterLoad > 0 && duration < 60000) { Browser.window.setTimeout(pollForPendingLoad, 100); } else { diff --git a/wpull/driver/phantomjs.js b/wpull/driver/phantomjs.js index 12edf2d0..c34753a5 100644 --- a/wpull/driver/phantomjs.js +++ b/wpull/driver/phantomjs.js @@ -131,7 +131,7 @@ PhantomJS.prototype = { this.page.onResourceReceived = function(response) { _g.logEvent("resource_received",{ response : response}); _g.activityCounter += 1; - if(_g.pageLoaded) _g.pendingResourcesAfterLoad -= 1; + if(_g.pageLoaded && response.stage == "end") _g.pendingResourcesAfterLoad -= 1; }; this.page.onResourceRequested = function(requestData,networkRequest) { _g.logEvent("resource_requested",{ request_data : requestData, network_request : networkRequest}); @@ -203,6 +203,7 @@ PhantomJS.prototype = { pollForPendingLoad1 = function() { if(startDate == null) startDate = new Date(); var duration = new Date().getTime() - startDate.getTime(); + console.log("pendingResourcesAfterLoad=" + _g.pendingResourcesAfterLoad); if(_g.pendingResourcesAfterLoad > 0 && duration < 60000) window.setTimeout(pollForPendingLoad1,100); else _g.loadFinishedCallback2(); }; pollForPendingLoad = pollForPendingLoad1;