bigrain 发表于 2022-9-4 20:08:25

李恒道 发表于 2022-9-4 11:41
大佬的库也能解决这个问题吗...
我没看到用webworker呀知识盲区了
(我好像懂了,MutationObserve ...

MutationObserve是个啥,得去学习下新姿势了

bigrain 发表于 2022-9-4 20:08:58

steven026 发表于 2022-9-4 12:04
我觉得这单纯的只是setTimeout的问题
MutationObserver或者setInterval应该都能解决
页面越多运行速度越 ...

setInterval 去判断啥呢?判断页面是否加载成功还是?

steven026 发表于 2022-9-4 20:21:55

bigrain 发表于 2022-9-4 20:08
setInterval 去判断啥呢?判断页面是否加载成功还是?

判断元素是否加载
(function () {
    'use strict';

    if (location.href.indexOf('autorestart') > 0) {
      let timer = setInterval(() => {
            let button = $("button.ant-btn-primary")
            console.info(button);
            if (button.length > 0) {
                clearInterval(timer)
                button.click();
            }
      }, 1000);
    }
})();

李恒道 发表于 2022-9-4 20:22:15

bigrain 发表于 2022-9-4 20:08
MutationObserve是个啥,得去学习下新姿势了

https://bbs.tampermonkey.net.cn/thread-184-1-1.html
这里有对应的教程

bigrain 发表于 2022-9-4 20:25:28

   if(location.href.indexOf('autorestart') == 0 )
    return;
    //console.info('表示我来过了,那就说明是加载的问题了');
    const elmGetter = new ElementGetter();
    elmGetter.each('.ant-btn-primary', document, button => {
      //console.info(button);
      const span = button.querySelector('span');
      //console.info(span);
      if (span) {
            setTimeout(()=>{
                (function() {
                  span.click();
                })();
            }, 1000);
      }
    });

改成这样了,暂时看起来是可以了,等会再测试一下

cxxjackie 发表于 2022-9-4 20:37:30

本帖最后由 cxxjackie 于 2022-9-4 23:34 编辑

bigrain 发表于 2022-9-4 20:25
改成这样了,暂时看起来是可以了,等会再测试一下
可以这样,不用再加setTimeout:
elmGetter.each('.ant-btn-primary span', document, span => {
    span.click();
});

bigrain 发表于 2022-9-4 22:34:23

以前用过 waitforelement.js   意思是差不多的不,只是更强一些

cxxjackie 发表于 2022-9-4 23:10:55

bigrain 发表于 2022-9-4 22:34
以前用过 waitforelement.js   意思是差不多的不,只是更强一些

是的,参考这篇的讨论:https://bbs.tampermonkey.net.cn/thread-2729-1-1.html

bigrain 发表于 2022-9-4 23:31:45

cxxjackie 发表于 2022-9-4 20:37
可以这样,不用再加setTimeout:

精炼多了,明天试试

bigrain 发表于 2022-9-6 20:55:53

waitforelement有个缺憾,页面上有2个按钮,a按钮弹出div层,里面有个b按钮,class一样,发现b按钮不会点击。

但是用 elmGetter 发现是可以的,
页: 1 [2] 3
查看完整版本: 2个脚本,A脚本打开页面B,页面B里面有定时代码,但是不y...