You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Tampermonkey脚本在部分网站无法自动运行的问题求助

Tampermonkey脚本无法自动点击元素的解决方案
  • 修复setInterval参数错误
    你当前代码的问题在于,setInterval(document.getElementById("nextButton").click(), 1000) 是直接执行了click()方法,把返回值传给了setInterval,这会导致按钮只被点击一次,后续的定时任务完全无效。正确写法是传递一个函数:

    setInterval(function() {
      const nextBtn = document.getElementById("nextButton");
      if (nextBtn) nextBtn.click();
    }, 1000);
    
    setInterval(function() {
      const submitBtn = document.getElementById("submitButton");
      if (submitBtn) submitBtn.click();
    }, 1000);
    
  • 改用DOM监听等待元素加载
    目标网站的按钮可能是动态生成的,document.ready触发时元素还没出现在DOM里。可以用MutationObserver监听DOM变化,直到元素出现再执行点击:

    function waitAndClick(elementId) {
      const observer = new MutationObserver((mutations) => {
        const element = document.getElementById(elementId);
        if (element) {
          element.click();
          observer.disconnect(); // 找到元素后停止监听,避免重复操作
        }
      });
    
      observer.observe(document.body, {
        childList: true,
        subtree: true
      });
    }
    
    // 调用方法监听目标按钮
    waitAndClick("nextButton");
    waitAndClick("submitButton");
    
  • 调整脚本运行时机
    在Tampermonkey脚本的元数据里,设置@run-at document-idle(页面完全加载后执行),如果还是不行,尝试@run-at document-start配合延迟执行:

    // ==UserScript==
    // @name         Auto Click Buttons
    // @namespace    http://tampermonkey.net/
    // @version      0.1
    // @description  Auto click next and submit buttons on target site
    // @author       You
    // @match        https://asso.hust.edu.vn/adfs/ls/*
    // @run-at       document-idle
    // @grant        none
    // ==/UserScript==
    
    (function() {
        'use strict';
        // 这里放入上面的等待点击代码
    })();
    
  • 避免无效重复点击
    如果按钮点击后会消失或状态改变,记得在触发点击后停止定时器/观察者,减少不必要的资源消耗:

    const nextInterval = setInterval(function() {
      const nextBtn = document.getElementById("nextButton");
      if (nextBtn) {
        nextBtn.click();
        clearInterval(nextInterval);
      }
    }, 1000);
    

内容的提问来源于stack exchange,提问作者Randy VU

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.11 18:33:29