如何反复点击一个JavaScript链接,直到它消失

How to repeatedly click a JavaScript link until it disappears?

本文关键字:链接 JavaScript 消失 一个 何反复      更新时间:2023-09-26

有些网页使用单页"分页",每次点击都显示越来越多的页面,有时在一个页面上显示所有内容是有用的(例如用于爬行)。与在Greasemonkey中连续单击按钮类似,我如何使用JavaScript(例如在Firefox控制台中)找到JavaScript链接并单击它,直到页面完全加载?在这种情况下,"full loaded"可以定义为

  1. "Load More"链接消失或
  2. "暂未找到视频"出现。

我不确定该在哪些元素上收听哪些事件以使其有效地发生(即,在单击之间等待最少的时间而不需要忙碌等待)。下面的代码不起作用,可能是因为页面的某些部分在请求另一个之前没有时间加载。

for (var i=1; i<209; i++) {
    DISCO.video.sort('None','desc',i,'grid');
}

这似乎可以工作,但效率相当低:

function click() {
    var element = $('.sort-assets-action');
    if (typeof element === 'undefined') {
        return;
    }
    var action = element.attr('onclick');
    eval(action);
}
setInterval(click, 100);