I have a phantomJS script
var page = require('webpage').create();
var system = require('system');
page.settings.userAgent = 'SpecialAgent';
var i = 1;
var url = 'http://www.google.cz/?test=' + i;
console.log( "url='" + url + "'" );
page.open(url, function (status) {
if (status !== 'success') {
console.log( 'Unable to access network' );
} else {
console.log( 'Opened ok' );
phantom.exit();
}
});
which works fine, but when I wrap the page.open
in for loop as
var page = require('webpage').create();
var system = require('system');
page.settings.userAgent = 'SpecialAgent';
//var i = 1;
for ( var i = 1; i <= 2; ++i ) {
var url = 'http://www.google.cz/?test=' + i;
console.log( "url='" + url + "'" );
page.open(url, function (status) {
if (status !== 'success') {
console.log( 'Unable to access network' );
} else {
console.log( 'Opened ok' );
phantom.exit();
}
});
}
I'm getting
Unable to access network
I think it is because it is executed in parallel. Am I correct? (phantom.exit()
is in wrong place probably) How can I wait for processing page.open
and then execute next iteration?