PhantomJS等待响应

时间:2018-09-24 11:47:20

标签: javascript asynchronous phantomjs

我正在使用PhantomJS从特定页面抓取数据。我停留的是等待UI从页面加载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!!!
         }
      })
   });
});

由于我没有任何ApiKeys或ID要求,因此无法直接使用xhr。

以这种方式构建的页面UI,使得我一次只能展开一个元素并从中读取数据。因此,无法展开所有内容。

由于有15至30个异步查询,因此我无法识别它们,因此没有使用page.onResourceReceived。响应对象也代表没有用的块。

我还尝试过监听document.readyState,以防万一phantomjs not waiting for "full" page load和waitFor()函数在评价()环境中不存在。

似乎这里唯一的选择是等待ui渲染元素,然后进行下一个操作。我不知道该怎么完成。

0 个答案:

没有答案
相关问题