您需要先安装一个扩展,例如 篡改猴、Greasemonkey 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 Userscripts ,之后才能安装此脚本。
您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。
您需要先安装用户脚本管理器扩展后才能安装此脚本。
通过自动点击下一页链接进行自动刷课
// ==UserScript== // @name 学习通阅读刷课 // @namespace https://space.bilibili.com/314017356 // @version 1.0 // @description 通过自动点击下一页链接进行自动刷课 // @author 清遥 // @match https://mooc1-1.chaoxing.com/mooc-ans/ztnodedetailcontroller/* // @match https://mooc1-1.chaoxing.com/mooc-ans/course/* // @run-at document-end // @license MIT // @grant GM_getValue // @grant GM_setValue // ==/UserScript== (function() { 'use strict'; const targetSelectors = 'a.ml40.nodeItem.r, a#loadbutton'; let hasClicked = false; let currentInterval = 20000; // 默认20秒 // 间隔选择器 function createIntervalSelector() { const container = document.createElement('div'); container.style.position = 'fixed'; container.style.top = '20px'; container.style.right = '20px'; container.style.zIndex = '9999'; container.style.backgroundColor = 'white'; container.style.padding = '10px'; container.style.borderRadius = '5px'; container.style.boxShadow = '0 0 10px rgba(0,0,0,0.2)'; const label = document.createElement('label'); label.textContent = '点击间隔:'; label.style.marginRight = '10px'; const select = document.createElement('select'); select.id = 'speedSelector'; select.innerHTML = ` <option value="700">0.7秒(慎用)</option> <option value="1000">1秒</option> <option value="10000">10秒</option> <option value="20000">20秒</option> <option value="30000">30秒</option> <option value="60000">60秒</option> `; // 从存储中加载先前使用间隔 const savedSpeed = GM_getValue('clickInterval', '20000'); select.value = savedSpeed; currentInterval = parseInt(savedSpeed); select.addEventListener('change', (event) => { currentInterval = parseInt(event.target.value); GM_setValue('clickInterval', currentInterval.toString()); }); container.appendChild(label); container.appendChild(select); document.body.appendChild(container); } // 匹配及点击 function clickTargets() { const elements = document.querySelectorAll(targetSelectors); if (elements.length && !hasClicked) { hasClicked = true; elements.forEach(element => { setTimeout(() => { console.log(`执行延迟点击(${currentInterval/1000}秒):`, element); element.click(); }, currentInterval); }); } } createIntervalSelector(); const observer = new MutationObserver(clickTargets); observer.observe(document.body, { childList: true, subtree: true }); clickTargets(); })();