我试图从用户向下滚动到底部(无限滚动)动态生成内容的页面中抓取链接.我曾尝试用Phantomjs做不同的事情但不能收集第一页以外的链接.让我们说加载内容的底部元素具有类.has-more-items.它在滚动期间加载最终内容之前可用,然后在DOM中变为不可用(显示:无).以下是我试过的事情 -
var page = require('webpage').create();page.viewportSize = {width:1600,height:10000,};
page.scrollPosition = { top: 10000, left: 0 }内部,page.open但没有效果像 -Run Code Online (Sandbox Code Playgroud)page.open('http://example.com/?q=houston', function(status) { if (status == "success") { page.scrollPosition = { top: 10000, left: 0 }; } });
page.evaluate功能内但是给出了参考错误:找不到变量页面
page.evaluate,page.open但没有用 -$("html,body").animate({scrollTop:$(document).height()},10,function(){// console.log('check for execution');});
既然如此,也在里面document.ready.类似的JS代码 -
window.scrollBy(0,10000)
Run Code Online (Sandbox Code Playgroud)
既然如此,也在里面 window.onload
我现在真的被打了两天而且找不到方法.任何帮助或提示将不胜感激.
更新
我在https://groups.google.com/forum/?fromgroups=#!topic/phantomjs/8LrWRW8ZrA0找到了一段有用的代码
var hitRockBottom = false; while (!hitRockBottom) {
// Scroll the page …Run Code Online (Sandbox Code Playgroud)