2016-05-10 11 views
2

ナイトメアでの擦り傷は最近まで微風でしたが、詳細とタイトルの「ナビゲーションエラー」 とエラーが発生し始めました。ナイトメア/電子:ナビゲーションエラー(コード - 118)

{ [Error: navigation error] 

'0': {メッセージ: 'ナビゲーションエラー'、 コード:-118、 詳細: ''、 URL: 'http://markets.ft.com/research/Browse-Companies'}、 長さ:1、 エラー: [ {メッセージ: 'ナビゲーションエラー'、 コード:-118、 詳細: ''、 URL: 'http://markets.ft.com/research/Browse-Companies'}]}

マイ悪夢コード(Node.jsの)

function *run(){ 

var nightmare = Nightmare({show : true }); 
nightmare.useragent("Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/41.0.2228.0 Safari/537.36") 
var url = "http://markets.ft.com/research/Browse-Companies"; 
var industry = []; 

//fetching data in { INDUSTRY , LINK , SECTOR } format . 

yield nightmare.goto(url).inject('js' , './jquery-2.2.3.min.js').wait('#wsod').evaluate(function() { 

    var arr = []; 

    $('.simpleLinkList.wsodModuleContent li').each(function(){ 
     arr.push({SECTOR : $(this).parents('ul').prev().text().replace('Sectors & Industries' , '') , 
      INDUSTRY : $(this).text() , LINK : $(this).find('a').attr('href')}); 
    }) 

    return arr; 

}).then(function (data) { 
    industry = data; 
}); 

//using {LINK} 

var companies = []; 

for(var i = 0 ; i<2; i++) 
{ 

    yield nightmare.goto(industry[i].LINK).inject('js' , './jquery-2.2.3.min.js').wait('#wsod'); 
    var nextExists = yield nightmare.visible('.wsod-icon-paging-next-active'); 
    var maxpage = 3; 
    var currentpage = 1; 
    var data = []; /* Object({ Name: "" , Link : ""})*/ 

    while(nextExists && currentpage < maxpage) 
    { 
     //pagination/checking if next page exists and looping the scraper for each page 

     yield nightmare.evaluate(function(a , b){ 
      var obj = []; 
      $('.company-link').each(function() { 
       obj.push({Sector : a , Industry: b , Name: $(this).text() , Link: $(this).attr('href')}); 
      }); 

      return obj; 
     },industry[i].SECTOR , industry[i].INDUSTRY).then(function (obj) { 
      data.push(obj); 
     }); 


     yield nightmare.click('.wsod-icon-paging-next-active').wait(2000); 

     currentpage++; 
     nextExists = yield nightmare.visible('.wsod-icon-paging-next-active'); 
    } 

    //data is an array of arrays and needs to be flattened. 

    var x = [].concat.apply([] , data); 

    //now pushing data to companies list (entire container) 

    companies.push(x); 
} 

companies = [].concat().apply([], companies); 

//now companies is an array of entire list of all companies in every single  sector->industry with sector name included for ease 

console.log(companies);*/ 
console.log(companies); 

yield nightmare.end(); 

} 

誰でもこのエラーに関する詳細情報を提供できれば、それは素晴らしいことです。プログラムは何度か動作しますが、ほとんどの場合、「ナビゲーションエラー」が表示されます。

答えて

1

電子と悪夢に作用するクロムのドキュメントを使って、

エラーコード-118はタイムアウトに関連しますが、この問題は実際のクロームブラウザですぐに読み込まれるWebサイトでポップアップします。

電子バグのように見えますが、誰かがもっと知っていれば、詳細をお知らせください。