此网站的表格一次只能显示100行。您需要进一步滚动以显示更多行。我正在使用Node.js和Horseman + PhantomJS来废弃数据,但我希望找到一种有效的方法来抓取整个表,而不是一次只有100行。
var h = new Horseman({timeout: 20000});
h
.open(<<link>>)
.waitForSelector("table.GridListings")
.text("td.ListingID")
.then(function(data) {
console.log(data);
});
我可以做哪些进一步的修改,滚动整个表并获取所有数据?
答案 0 :(得分:0)
您可以使用List
滚动到页面底部并继续操作,直到一段时间内没有新内容加载为止。
然后,您可以检查应填充所有字段的表格。
答案 1 :(得分:0)
使用phantomjs实例评估javascript和scrooll到windows bottom
.evaluate(function () {
window.scrollTo(0,document.body.scrollHeight);
});
答案 2 :(得分:0)
我认为,在这种情况下你应该滚动(.scrollTo(top,left)方法)并等待(可能是.waitFor(fn,[arg1,arg2,...],value)方法)重新填充表。我想,您应该重复这些操作,直到表中的行数等于“结果摘要”块中的“列表数”。