У меня нет подсказки, с чего начать. В основном мне нужно, чтобы CasperJS пропустил около 15 разных страниц, каждая страница, через которую он проходит, должна получить данные для 150 разных местоположений, которые должны быть установлены как значения cookie. Для каждого местоположения мне нужно проверить данные на 5 разных дат.Как сделать вложенную петлю на многие страницы в CasperJS
Любой из них кажется довольно прямолинейным, но попытка получить все три случится сбивает меня с толку.
Я попытался установить его таким образом:
for(Iterate through URLs){
for(Iterate through locations){
for(Iterate through dates){
phantom.addCookie({
// Cookie data here based on location and date
});
casper.start(url)
.then(function(){
// Do some stuff here
})
.run();
}
}
}
По сути, это делает петлю через все, а затем загрузить страницу, основанную на последней ссылке, на последнем месте, на последнюю дату. Но каждое другое место пропускается. Есть ли более простой способ сделать это? Возможно, лучше, есть ли способ сказать, что мой цикл JavaScript ждет, пока casper завершит выполнение того, что ему нужно сделать, прежде чем перейти к следующей итерации цикла?
Я рад предоставить более подробную информацию, если необходимо. Я попытался упростить процесс, насколько это возможно, без вырезания необходимой информации.
Ты герой. По-прежнему существует проблема с файлами cookie, поэтому я буду играть с этим и попробовать ваше предложение для этого, но он загружает страницу и делает все, что мне нужно, для каждой итерации цикла, по крайней мере. Благодаря! –
Извините, я забыл поместить код файла cookie в один шаг. Смотрите, если это лучше –
Да, это прекрасно работает. Спасибо огромное! –