2016-07-10 4 views
0

У меня есть код, который очищает веб-сайт для определенных данных, хотя я хотел бы расширить его на многие веб-сайты (хотя и поддерживать тот же код). Могу ли я просто использовать цикл while с массивом ссылок (я предполагаю тот же синтаксис, что и JS)? Если нет, как еще я могу это сделать?Пока цикл с PhantomJS?

var webPage = require('webpage'); 
 
var page = webPage.create(); 
 

 
page.open('http://shop.advanceautoparts.com/p/purolator-classic-air-filter-a24278/5792304-P?navigationPath=L1*14934&zoneAssigned=1&prefStoredSet=1&prefZC=07047', function(status) {    
 
    page.sendEvent('mousemove', 1, 1); 
 
    page.sendEvent('click'); 
 
    page.sendEvent('click'); 
 
    setTimeout(function(){ 
 
     var fetchData = page.evaluate(function(){ 
 
      return document.getElementById("add2Cart_1").className; 
 
     }); 
 
     sort(fetchData); 
 
     page.close(); 
 
    }, 3000); 
 
}); 
 

 
function sort(string) { 
 
    if (string == "button yellow add2Cart disabled") { 
 
     console.log("Out of Stock"); 
 
    } else { 
 
     console.log("In Stock"); 
 
    } 
 
}`

ответ

0

Могу ли я просто использовать время цикла с массивом ссылок (я предполагаю, что такой же синтаксис, как JS)?

Да. Это просто JavaScript. Имейте в виду, что вы будете делать их все параллельно, если вы не блокируете до тех пор, пока не будет выполнена каждая страница.

+0

Когда я пытаюсь реализовать простой цикл while, он не может распознать setTimeout, любые предложения? – traw1234

+0

Я не знаю, о чем вы говорите, «не может распознать setTimeout». – Brad

+0

Вместо того, чтобы ждать 3 секунды (из моей функции setTimeout), он пропускает весь код и не отображает страницу вообще для какой-либо ссылки. – traw1234