PhantomJS ждет ответа - PullRequest
       5

PhantomJS ждет ответа

0 голосов
/ 24 сентября 2018

Я использую PhantomJS для очистки данных с определенной страницы.Я застрял в ожидании, пока пользовательский интерфейс загрузит страницу после загрузки дополнительных данных из API.Это выглядит так:

page.open(address, function() {
   page.includeJs('JQuery', function(){
      page.evaluate(function() { 
         var elements = $('.sample');
         for ( i=0; i <= elements.length; i++ ) {
            elements.eq(i).click();
            waitForResponse()// ???
            readDataFromUI();
            //???
            // profit!!!
         }
      })
   });
});

Для прямой xhr нет опции, так как у меня нет ни ApiKeys, ни идентификаторов для запроса.

Страницы пользовательского интерфейса построены таким образом, что я могу развернуть только один элемент за раз и прочитать данные из него.Таким образом, нет возможности развернуть все.

Нет смысла использовать page.onResourceReceived, поскольку существует 15-30 асинхронных запросов, и я не могу их идентифицировать.Объект ответа обозначает блок, который также бесполезен.

Я также пытался прослушивать document.readyState, как в случае, если phantomjs не ожидает "полной" загрузки страницы и waitFor () функция, которой нет в средеvalu ().

Кажется, что единственная возможность здесь - это ждать, пока пользовательский интерфейс отобразит элемент, а затем перейти к следующему.Что я понятия не имею, как сделать.

...