Ошибка навигации ошибка с кошмаром JS? - PullRequest
0 голосов
/ 13 июня 2018

Я новичок в Nightmare js и пытался собрать некоторые данные с сайта.Но потом я получаю эту ошибку, и я не могу понять, что я могу делать не так.Может кто-нибудь объяснить мне, в чем проблема?Элемент, который я хочу очистить, заключается в следующем.Я пытаюсь извлечь текст между тегами, который выглядит следующим образом <span class="home__matches__match__header__game-id">Game ID 9490 - </span> Kenya - Premier League

<div class="home__sports">
    <div class="home__sports__title">
        <div class="home__sports__title__category">Kenya - Premier League</div>
        <div class="home__sports__title__copy">
            <span title="Copy" class="icon home__sports__title__copy__icon icon__copy has-tooltip">
                <svg
                    xmlns="http://www.w3.org/2000/svg"
                    xmlns:xlink="http://www.w3.org/1999/xlink" version="1.1" id="Capa_1" x="0px" y="0px" viewBox="0 0 488.244 488.244" xml:space="preserve" width="15px">
                    <g>
                        <g>
                            <g>
                                <path d="M284.141,138.477V72.896H43.678v415.348h306.045V138.477H284.141z" fill="#FFFFFF"></path>
                                <polygon points="290.682,72.723 290.682,131.247 349.205,131.247     " fill="#FFFFFF"></polygon>
                            </g>
                            <g>
                                <polygon points="385.525,0 385.525,58.524 444.048,58.524     " fill="#FFFFFF"></polygon>
                                <polygon points="378.985,65.753 378.985,0.172 138.521,0.172 138.521,65.581 291.543,65.581 357.124,131.162 357.124,415.519       444.566,415.519 444.566,65.753     " fill="#FFFFFF"></polygon>
                            </g>
                        </g>
                    </g>
                </svg>
            </span>
            <span>Copy</span>
        </div>
    </div>
    <div class="home__sports__matches scrollable" tabindex="0">
        <!---->
        <!---->
        <!---->
        <!---->
        <!---->
        <div class="home__matches__match">
            <div class="home__matches__match__header clearfix">
                <span class="home__matches__match__header__game-id">Game ID 9490 - </span> Kenya - Premier League 
                <span class="pull-right">13/06, 15:00</span>
            </div>
            <div class="home__matches__match__odds">
                <button class="home__matches__match__odds__odd bold clearfix">
    Wazito

                    <span class="pull-right bold">8.84</span>
                </button>
                <button class="home__matches__match__odds__odd bold clearfix">
    X

                    <span class="pull-right bold">4.67</span>
                </button>
                <button class="home__matches__match__odds__odd bold clearfix">
    GOR Mahia FC

                    <span class="pull-right bold">1.41</span>
                </button>
                <button class="home__matches__match__odds__markets clearfix bold">
            +25
        </button>
            </div>
            <!---->
        </div>
        <div class="home__matches__match">
            <div class="home__matches__match__header clearfix">
                <span class="home__matches__match__header__game-id">Game ID 3924 - </span> Kenya - Premier League 
                <span class="pull-right">13/06, 15:00</span>
            </div>
            <div class="home__matches__match__odds">
                <button class="home__matches__match__odds__odd bold clearfix">
    Kariobangi Sharks

                    <span class="pull-right bold">2.61</span>
                </button>
                <button class="home__matches__match__odds__odd bold clearfix">
    X

                    <span class="pull-right bold">3.05</span>
                </button>
                <button class="home__matches__match__odds__odd bold clearfix">
    Nzoia United

                    <span class="pull-right bold">2.93</span>
                </button>
                <button class="home__matches__match__odds__markets clearfix bold">
            +25
        </button>
            </div>
            <!---->
        </div>
        <div class="home__matches__match">
            <div class="home__matches__match__header clearfix">
                <span class="home__matches__match__header__game-id">Game ID 8769 - </span> Kenya - Premier League 
                <span class="pull-right">13/06, 15:00</span>
            </div>
            <div class="home__matches__match__odds">
                <button class="home__matches__match__odds__odd bold clearfix">
    Ulinzi Stars FC

                    <span class="pull-right bold">2.3</span>
                </button>
                <button class="home__matches__match__odds__odd bold clearfix">
    X

                    <span class="pull-right bold">3.05</span>
                </button>
                <button class="home__matches__match__odds__odd bold clearfix">
    Kakamega Homeboyz

                    <span class="pull-right bold">4.2</span>
                </button>
                <button class="home__matches__match__odds__markets clearfix bold">
            +25
        </button>
            </div>
            <!---->
        </div>
        <div class="home__matches__match">
            <div class="home__matches__match__header clearfix">
                <span class="home__matches__match__header__game-id">Game ID 3021 - </span> Kenya - Premier League 
                <span class="pull-right">13/06, 15:00</span>
            </div>
            <div class="home__matches__match__odds">
                <button class="home__matches__match__odds__odd bold clearfix">
    AFC Leopards SC

                    <span class="pull-right bold">2.66</span>
                </button>
                <button class="home__matches__match__odds__odd bold clearfix">
    X

                    <span class="pull-right bold">3.21</span>
                </button>
                <button class="home__matches__match__odds__odd bold clearfix">
    Sofapaka FC

                    <span class="pull-right bold">2.61</span>
                </button>
                <button class="home__matches__match__odds__markets clearfix bold">
            +25
        </button>
            </div>
            <!---->
        </div>
    </div>
    <!---->
</div>
   var jquery = require('jquery');
var Nightmare = require('nightmare');
var express = require('express');
nightmare = Nightmare()

var app = express();

    nightmare.goto('https://www.betika.com/competition/701')
    .wait(2000)
    .evaluate(function () {
        var gameids=[]
        var res;
        var gameids=[]
        $('.home__matches__match__header__game-id').each(function(){

            console.log('Entered')
            item ={}
            item['gameid'] = $(this).text()
            gameids.push(item);


        })

        return {
               res:gameids


            };
        },function (value) {
          /*for (gameids in value){
              console.log(value[gameids.gameid])

          }*/
          console.log("gotcha",value)

        }
    )
    .run(function (err, nightmare) {
        if (err) return console.log(err);

    });

Результаты: -

{ Error: navigation error
    at unserializeError (/home/surajit/WebstormProjects/Odds/node_modules/nightmare/lib/ipc.js:162:13)
    at EventEmitter.<anonymous> (/home/surajit/WebstormProjects/Odds/node_modules/nightmare/lib/ipc.js:89:13)
    at Object.onceWrapper (events.js:312:19)
    at emitTwo (events.js:125:13)
    at EventEmitter.emit (events.js:213:7)
    at ChildProcess.<anonymous> (/home/surajit/WebstormProjects/Odds/node_modules/nightmare/lib/ipc.js:49:10)
    at emitTwo (events.js:125:13)
    at ChildProcess.emit (events.js:213:7)
    at process.nextTick (internal/child_process.js:755:12)
    at _combinedTickCallback (internal/process/next_tick.js:95:7)
  code: -7,
  details: 'Navigation timed out after 30000 ms',
  url: 'https://www.betika.com/competition/701' }

1 Ответ

0 голосов
/ 18 июня 2018

Похоже, что загрузка веб-сайта или данных занимает много времени даже в моем обычном браузере. Прошло почти 2 минуты, и он все еще не загружен.Тайм-аут навигации, установленный для режима nightmare, равен 30 секундам.

И, похоже, если URL-адрес недействителен, он никогда не загрузится.Поэтому я нажал на действительный URL-адрес конкурса, и он наконец загрузился.

Это не связано с вашим кодом, это связано с тем, как вы обрабатываете илиукажите целевой веб-сайт.

...