Às vezes, a página se estende na rolagem até o botão (por exemplo, nas redes sociais), para rolar até o final (botão final da página). Eu uso este script:
var scrollInterval = setInterval(function() {
document.documentElement.scrollTop = document.documentElement.scrollHeight;
}, 50);
E se você estiver no console javascript do navegador, pode ser útil interromper a rolagem; adicione:
var stopScroll = function() { clearInterval(scrollInterval); };
E então use stopScroll();
.
Se você precisar rolar para um elemento específico, use:
var element = document.querySelector(".element-selector");
element.scrollIntoView();
Ou script universal para rolagem automática para um elemento específico (ou para o intervalo de rolagem da página):
var notChangedStepsCount = 0;
var scrollInterval = setInterval(function() {
var element = document.querySelector(".element-selector");
if (element) {
// element found
clearInterval(scrollInterval);
element.scrollIntoView();
} else if((document.documentElement.scrollTop + window.innerHeight) != document.documentElement.scrollHeight) {
// no element -> scrolling
notChangedStepsCount = 0;
document.documentElement.scrollTop = document.documentElement.scrollHeight;
} else if (notChangedStepsCount > 20) {
// no more space to scroll
clearInterval(scrollInterval);
} else {
// waiting for possible extension (autoload) of the page
notChangedStepsCount++;
}
}, 50);