Jak przewijać w dół Phantomjs, aby załadować dynamiczną zawartość

Próbuję zeskrobać linki ze strony, która generuje zawartość dynamicznie, gdy użytkownik przewija w dół (przewijanie nieskończone). Próbowałem robić różne rzeczy z Phantomjs, ale nie jestem w stanie zebrać linków poza pierwszą stroną. Powiedzmy, że element na dole, który ładuje zawartość, ma klasę.has-more-items. Jest dostępny do momentu załadowania ostatecznej treści podczas przewijania, a następnie staje się niedostępny w DOM (wyświetlacz: brak). Oto rzeczy, które próbowałem -

Ustawienie rozmiaru rzutni na dużą wysokość zaraz povar page = require('webpage').create();

page.viewportSize = {szerokość: 1600, wysokość: 10000,};

Za pomocąpage.scrollPosition = { top: 10000, left: 0 } wewnątrzpage.open ale nie działają jak-
page.open('http://example.com/?q=houston', function(status) {
   if (status == "success") {
      page.scrollPosition = { top: 10000, left: 0 };  
   }
});
Próbowałem też umieścić go w środkupage.evaluate funkcja, ale to daje

Błąd odniesienia: Nie można znaleźć strony zmiennej

Próbowałem użyć jQuery i kodu JS wewnątrzpage.evaluate ipage.open ale bez skutku-

$ ("html, body"). animate ({scrollTop: $ (document) .height ()}, 10, function () {//console.log('check dla wykonania ”);});

tak jak jest i wewnątrzdocument.ready. Podobnie dla kodu JS-

window.scrollBy(0,10000)

tak jak jest i wewnątrzwindow.onload

Jestem naprawdę pod wrażeniem przez 2 dni i nie mogę znaleźć sposobu. Każda pomoc lub podpowiedź byłaby doceniana.

Aktualizacja

Znalazłem pomocny fragment kodu whttps://groups.google.com/forum/?fromgroups=#!topic/phantomjs/8LrWRW8ZrA0

var hitRockBottom = false; while (!hitRockBottom) {
    // Scroll the page (not sure if this is the best way to do so...)
    page.scrollPosition = { top: page.scrollPosition + 1000, left: 0 };

    // Check if we've hit the bottom
    hitRockBottom = page.evaluate(function() {
        return document.querySelector(".has-more-items") === null;
    }); }

Gdzie.has-more-items jest klasą elementu, do której chcę uzyskać dostęp, która jest początkowo dostępna na dole strony, a kiedy przewijamy w dół, przesuwa się w dół, aż wszystkie dane zostaną załadowane, a następnie stają się niedostępne.

Jednak kiedy testowałem, jest jasne, że działa w nieskończonych pętlach bez przewijania w dół (renderuję zdjęcia do sprawdzenia). Próbowałem wymienićpage.scrollPosition = { top: page.scrollPosition + 1000, left: 0 }; z kodami od dołu (po jednym na raz)

window.document.body.scrollTop = '1000';
location.href = ".has-more-items";
page.scrollPosition = { top: page.scrollPosition + 1000, left: 0 };
document.location.href=".has-more-items";

Ale nic nie działa.

questionAnswers(4)

yourAnswerToTheQuestion