xiaooooooo 发表于 2023-6-16 22:03:42

求问大家我想实现网页自动翻页的功能该如何操作?

代码如下,我用的方法是找到翻页按钮对应的href属性,拼接成下一页的链接,“点击”则是通过window.location.href = url;的方法,但是这么做的效果并不好,会在1,2页之间反复横跳,没办法继续往下走。

// ==UserScript==
// @match      https://www.baidu.com/s*
// @icon         https://www.google.com/s2/favicons?sz=64&domain=baidu.com
// @require      http://cdn.bootcss.com/jquery/1.11.2/jquery.js
// @require      https://scriptcat.org/lib/513/2.0.0/ElementGetter.js
// @grant      GM_xmlhttpRequest

// ==/UserScript==
function sleep(numberMillis) {
        var now = new Date();
        var exitTime = now.getTime() + numberMillis;
        while (true) {
                now = new Date();
                if (now.getTime() > exitTime)
                return;
            }
}


(function() {
    'use strict';


while(true){
elmGetter.selector($);
    elmGetter.each('div.page-inner_2jZi2 a.n', company_name => {
      console.log(company_name);
      console.log('page is fully loaded');
      console.log('xx');
      sleep(2);

      url = 'https://www.baidu.com' + $(company_name).attr('href');
      window.location.href = url;
      console.log('点击完了');
      console.log(url);


    });
};
    // Your code here...
})();


请教各位大佬,是否有什么可行的代码逻辑,让网页每隔几秒自动后翻呢?我参考过一个大佬写的“东方永页机”,他是直接把下一页拼在了第一页后面。很强,不过模仿不来……

yang10560 发表于 2023-6-16 22:03:43

const autoNext = ()=>{
    const nexts = document.querySelectorAll('a.n');
    const next = nexts;
    next.click()
    setTimeout(autoNext,2000)
}
autoNext();

李恒道 发表于 2023-6-17 10:20:25

没太理解目前的问题是卡哪了...

xiaooooooo 发表于 2023-6-17 11:28:29

李恒道 发表于 2023-6-17 10:20
没太理解目前的问题是卡哪了...

就是我想实现一个【每隔2秒自动翻页到下一页】的功能,现在我上面的代码老是在第一页第二页横跳

wjy0 发表于 2023-6-17 13:24:44

本帖最后由 wjy0 于 2023-6-17 13:27 编辑

xiaooooooo 发表于 2023-6-17 11:28
就是我想实现一个【每隔2秒自动翻页到下一页】的功能,现在我上面的代码老是在第一页第二页横跳 ...
百度下一页,为什么不直接点击下一页按钮呢?
$('').find('').eq(1).click()
或者定位到当前页按钮的下一个按钮
$('').find('strong').next().click()

xiaooooooo 发表于 2023-6-17 15:43:45

wjy0 发表于 2023-6-17 13:24
百度下一页,为什么不直接点击下一页按钮呢?
$('').find('').eq(1 ...

直接click方法我试过好像不行 以上代码试了不行

李恒道 发表于 2023-6-17 18:11:15

xiaooooooo 发表于 2023-6-17 15:43
直接click方法我试过好像不行 以上代码试了不行

代码发到
https://scriptcat.org/
然后在提问的时候贴地址
这样别人没法看的

wjy0 发表于 2023-6-17 20:29:15

xiaooooooo 发表于 2023-6-17 15:43
直接click方法我试过好像不行 以上代码试了不行

click()确实不行哦!那就这样,我试了可以
window.location.href=$('').children(':last').attr('href')

wjy0 发表于 2023-6-17 20:30:57

wjy0 发表于 2023-6-17 20:29
click()确实不行哦!那就这样,我试了可以
window.location.href=$('').child ...

$('').children(':last').click()

不是click不行,可以

李恒道 发表于 2023-6-17 21:07:43

wjy0 发表于 2023-6-17 20:29
click()确实不行哦!那就这样,我试了可以
window.location.href=$('').child ...

https://bbs.tampermonkey.net.cn/thread-4700-1-1.html
话说这个哥哥有兴趣可以接一下
页: [1] 2 3 4
查看完整版本: 求问大家我想实现网页自动翻页的功能该如何操作?