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

请求协助编写重复触发指定按钮点击的Tampermonkey脚本

实现Tampermonkey脚本重复点击指定按钮

你当前的代码存在几个明显问题,导致没法正常触发按钮点击,更别说实现重复执行的需求了。咱们一步步来修复并完成你想要的功能:

先梳理下你现有代码的问题

  • document.getElementsByClassName("next active")返回的是HTMLCollection元素集合,不是单个DOM元素,直接调用.click()会报错
  • document.querySelector("input[type='next active']")完全不符合目标元素结构:目标是<button>标签,不是<input>,而且元素也没有type属性
  • $("a.NAMEOFTHEBUTTON")选择器错误:目标是button元素,不是a标签,且NAMEOFTHEBUTTON是占位符没替换成实际类名
  • 你的代码只尝试执行一次点击(或延迟一次),完全没实现重复触发的逻辑

正确的Tampermonkey脚本实现

下面提供两种可用的脚本方案,你可以根据需求选择:

方案1:固定间隔重复点击(简单直接)

如果只需要按固定时间间隔尝试点击按钮,不管页面状态:

// ==UserScript==
// @name         重复点击Next按钮
// @namespace    http://tampermonkey.net/
// @version      0.1
// @description  自动重复点击class为next active的按钮
// @author       You
// @match        替换成你要运行的网站URL
// @grant        none
// ==/UserScript==

(function() {
    'use strict';

    // 设置点击间隔,单位:毫秒(比如1000就是1秒点击一次)
    const clickInterval = 1000;

    // 定义点击按钮的核心函数
    function clickNextButton() {
        // 精准选择目标按钮:同时拥有next和active类的button元素
        const nextButton = document.querySelector("button.next.active");
        if (nextButton) {
            console.log("成功点击Next按钮");
            nextButton.click();
        } else {
            console.log("未找到Next按钮,停止重复点击");
            // 找不到按钮时自动清除定时器,避免无效循环
            clearInterval(intervalId);
        }
    }

    // 先立即执行一次点击,再启动重复循环
    clickNextButton();
    const intervalId = setInterval(clickNextButton, clickInterval);
})();

方案2:点击后等待页面加载再继续(更智能)

如果点击按钮后页面会加载新内容,需要等待内容更新后再尝试下一次点击:

// ==UserScript==
// @name         智能重复点击Next按钮
// @namespace    http://tampermonkey.net/
// @version      0.1
// @description  点击Next按钮后,等待页面更新再继续点击
// @author       You
// @match        替换成你要运行的网站URL
// @grant        none
// ==/UserScript==

(function() {
    'use strict';

    // 定义递归点击函数,实现智能等待
    function clickNextButton() {
        const nextButton = document.querySelector("button.next.active");
        if (nextButton) {
            console.log("点击Next按钮");
            nextButton.click();
            // 点击后延迟一段时间再尝试下一次(根据页面加载速度调整,比如2000毫秒)
            setTimeout(clickNextButton, 2000);
        } else {
            console.log("没有更多Next按钮了,停止操作");
        }
    }

    // 启动自动点击流程
    clickNextButton();
})();

使用说明

  1. 替换脚本中的@match值为你要运行脚本的目标网站URL(比如https://example.com/*)
  2. 根据页面实际情况调整间隔时间(毫秒)
  3. 保存脚本后,刷新目标页面即可自动执行

关键细节说明

  • 使用document.querySelector("button.next.active")可以精准匹配到目标按钮,这个选择器会筛选同时拥有next和active类的button元素
  • 两种方案都加入了按钮存在性检查,避免报错,并且会在按钮消失时自动停止操作
  • 固定间隔方案适合页面无加载延迟的场景,智能等待方案更适配点击后需要加载新内容的页面

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.28 04:12:00