您需要先安装一个扩展,例如 篡改猴、Greasemonkey 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 Userscripts ,之后才能安装此脚本。
您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。
您需要先安装用户脚本管理器扩展后才能安装此脚本。
Continuously simulates user click on UpLearn's "Continue" button across multiple lessons/pages in SPA environment like React (no full reloads needed). 🧠✨
// ==UserScript== // @name Persistent Auto-Click "Continue" on UpLearn // @namespace http://tampermonkey.net/ // @version 1.3 // @description Continuously simulates user click on UpLearn's "Continue" button across multiple lessons/pages in SPA environment like React (no full reloads needed). 🧠✨ // @author JustSimplyDnaie // @match *://*.uplearn.co.uk/* // @grant none // @license MIT // ==/UserScript== (function () { 'use strict'; const BUTTON_SELECTOR = 'button[type="submit"]'; const OBSERVER_DELAY = 500; // How often to check DOM changes let clickedRecently = false; function simulateClick(element) { console.log('[Auto-Click] Simulating click on "Continue"...'); const mouseEvent = new MouseEvent('click', { bubbles: true, cancelable: true, view: window, }); element.dispatchEvent(mouseEvent); clickedRecently = true; setTimeout(() => { clickedRecently = false; }, 3000); // prevent double-clicking during countdown transitions } function tryClickContinue() { if (clickedRecently) return; const buttons = document.querySelectorAll(BUTTON_SELECTOR); for (const btn of buttons) { if (btn.textContent.trim().toLowerCase() === 'continue') { console.log('[Auto-Click] Found "Continue" button. Clicking...'); simulateClick(btn); break; } } } // Setup MutationObserver to detect dynamic content changes const observer = new MutationObserver(() => { tryClickContinue(); }); window.addEventListener('load', () => { console.log('[Auto-Click] Loaded. Watching for DOM changes...'); observer.observe(document.body, { childList: true, subtree: true }); // Initial check in case button already present setTimeout(tryClickContinue, 1000); }); })();