【发布时间】:2018-03-28 14:09:06
【问题描述】:
我对学习 phantomjs 和 casperjs 非常陌生,并且正在寻找一些关于如何单击“加载更多”按钮以完全填充页面的指针。我查看了类似的问题,但没有看到任何匹配的内容(至少不是我理解的)。我们的想法是从 livestream.com 事件页面中删除观看者计数。
首先,我可以使用 phantomjs(以 cnet 为例)以纯文本格式抓取第一页,如下所示:
var page = require('webpage').create();
page.open('http://livestream.com/cnet', function() {
console.log(page.plainText);
phantom.exit();
});
虽然有很多额外的事件列表需要点击“加载更多”。我想使用下面的伪代码扩展上面的代码来做到这一点:
while ("Load More" exists) {
click button
delay to allow page to load
}
检查上述网址上的按钮元素,我发现以下内容:
<a href="javascript:void(0);" class="button thin_border_button black_border small_button ng-binding" ng-click="loadMoreEventsPublic('Archived')" ng-bind="loadMoreText">Load More</a>
如何反复单击(即 ng-click="loadMoreEventsPublic('Archived')")直到页面完全加载然后退出 phantomjs?
在 casperjs 中这样做会更有意义吗?
请原谅我极端的菜鸟水平,我正在尽我所能解决这个问题,但我需要一些指导。
谢谢!
【问题讨论】:
标签: javascript angularjs phantomjs casperjs