Javascript 使用PhantomJS向下滚动直到页面结束
正如标题所说,我正在尝试使用PhantomJS向下滚动网页。就我所知:Javascript 使用PhantomJS向下滚动直到页面结束,javascript,scroll,phantomjs,Javascript,Scroll,Phantomjs,正如标题所说,我正在尝试使用PhantomJS向下滚动网页。就我所知: var i = 0; page.open(address, function () { window.setInterval(function() { i++; if(i<5) { page.evaluate(function() { window.document.body.scrollTop = document.body.scrollHe
var i = 0;
page.open(address, function () {
window.setInterval(function() {
i++;
if(i<5) {
page.evaluate(function() {
window.document.body.scrollTop = document.body.scrollHeight;
});
}
else { // Timeout
fs.write(dir, page.content, 'w');
phantom.exit();
}
}, 1000); // Number of milliseconds to wait between scrolls
});
我在这件事上有点不懂装懂,所以我希望能得到一些建议。有什么想法吗?通常页面上有某种元素,当没有更多的项目可加载时,这些元素会消失或出现。你的页面就是这样吗?为什么你认为比较页面内容看是否有变化不是一个好的解决方案?我觉得很好。你可以通过检查页面上有多少项来轻松一点,但本质上是一样的。比较页面内容就像我说的那样有效,但如果页面内容在完全加载时发生变化,则不会。我只是觉得有更好的解决办法。例如:如果你不能向下滚动,那是因为你已经在底部了。
window.setInterval(function() {
a = page.content;
if (a == b) {
console.log('END');
} else {
console.log('NO END');
}
...
fs.write(dir, page.content, 'w');
phantom.exit();
}
b = page.content;
a = b;
}, 1000); // Number of milliseconds to wait between scrolls