Automatisches endloses Runterscrollen im Browser

Hier am Beispiel des Chrome-Browsers

  • Öffne mit der F12-Taste die Entwicklertools
  • In der Console gib man folgenden Javascript-Code ein (Quelle) und führt ihn mit der Enter-Taste aus:
(function() {
    var intervalObj = null;
    var retry = 0;
    var clickHandler = function() { 
        console.log("Clicked; stopping autoscroll");
        clearInterval(intervalObj);
        document.body.removeEventListener("click", clickHandler);
    }
    function scrollDown() { 
        var scrollHeight = document.body.scrollHeight,
            scrollTop = document.body.scrollTop,
            innerHeight = window.innerHeight,
            difference = (scrollHeight - scrollTop) - innerHeight

        if (difference > 0) { 
            window.scrollBy(0, difference);
            if (retry > 0) { 
                retry = 0;
            }
            console.log("scrolling down more");
        } else {
            if (retry >= 3) {
                console.log("reached bottom of page; stopping");
                clearInterval(intervalObj);
                document.body.removeEventListener("click", clickHandler);
            } else {
                console.log("[apparenty] hit bottom of page; retrying: " + (retry + 1));
                retry++;
            }
        }
    }

    document.body.addEventListener("click", clickHandler);

    intervalObj = setInterval(scrollDown, 1000);

})()
  • Achtung: Öffnet man im gleichen Browserfenster einen neuen Tab oder minimiert man das Browser-Fenster, hört Chrome auf, das JavaScript auszuführen.
  • Will man also in der Zwischenzeit im Browser weiterarbeiten, muss man daher hierfür ein neues Browserfenster öffnen.

Sobald man am Ende der Seite angekommen ist, stoppt man das Skript (das sonst eben unendlich weiterläuft und sekündlich bis zum Seitenende runterscrollen würde), indem man einfach einmal in den Browser klickt.

Hinweis: funktioniert im Chrome auf Windows und Apple (getestet im August 2021)

Einsatz: Zum Beispiel, um bei LinkedIn die Gruppenmitglieder alle anzuzeigen.