Я пытаюсь создать фиктивные веб-страницы в попытке проверить баланс нагрузки на сервере, я прохожу через 100 экземпляров элемента страниц и создаю его соответствующим образом. У меня возникают трудности при инъекции JS, это не делает его для всех баров последним в цикле.phantom js не впрыскивает javascript до конца цикла
for(var i=0; i<instances; i++) {
pages.push(require('webpage').create());
}
console.log('Loading web page');
for(var i in pages) {
pages[i].customHeaders = {
'X-Forwarded-For': '192.111.111.'+i
};
var ip = '192.111.111.'+i;
var mac = "00:00:00:00:00:"+i;
var serial = '000000000'+i;
console.log("Loading " + url + " in page " + i);
pages[i].onInitialized = function() {
if(!pages[i].injectJs("amino/VideoDisplay.js")) {
console.log("Can not include script 'VideoDisplay.js'");
phantom.exit(1);
}
if(!pages[i].injectJs("amino/TVI.js")) {
console.log("Can not include script 'TVI.js'");
phantom.exit(1);
}
if(!pages[i].injectJs("amino/PVR.js")) {
console.log("Can not include script 'PVR.js'");
phantom.exit(1);
}
if(!pages[i].injectJs("amino/CEC.js")) {
console.log("Can not include script 'CEC.js'");
phantom.exit(1);
}
if(!pages[i].injectJs("amino/Browser.js")) {
console.log("Can not include script 'Browser.js'");
phantom.exit(1);
}
if(!pages[i].injectJs("amino/AVMedia.js")) {
console.log("Can not include script 'AVMedia.js'");
phantom.exit(1);
}
if(!pages[i].injectJs("amino/AudioControl.js")) {
console.log("Can not include script 'AudioControl.js'");
phantom.exit(1);
}
if(!pages[i].injectJs("amino/ASTB.js")) {
console.log("Can not include script 'ASTB.js'");
phantom.exit(1);
}
if(!pages[i].injectJs("amino/AminoGeneric.js")) {
console.log("Can not include script 'AminoGeneric.js'");
phantom.exit(1);
}
};
pages[i].viewportSize = 'width: 1280, height: 720';
pages[i].settings.userAgent = 'Opera/9.80 (Linux sh4 ; U; Amino; en) Presto/2.5.21 Version/10.30';
pages[i].open(url, function() {
pages[i].evaluate(function(ip, mac, serial) {
ASTB.IpAddress = ip;
ASTB.MacAddress = mac;
ASTB.Serial = serial
}, ip, mac, serial);
});
}
Любых идеи, я получаю ошибки говорят переменные ASTB неопределенны
Im strugling немного здесь, я понимаю, где вы пришли с, однако я пытался в обоих направлениях и все еще не получая больше. 'pages [i] .open (url, function (status, i) {console.log (status) (function (i) { console.log (i); pages [i] .evaluate (function (ip, mac , последовательный) { ASTB.IpAddress = ф; \t ASTB.MacAddress = макинтош; \t \t ASTB.Serial = серийный }, IP, MAC, серийный); }) (я); }); ' – Charabon