您需要先安装一个扩展,例如 篡改猴、Greasemonkey 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 Userscripts ,之后才能安装此脚本。
您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。
您需要先安装用户脚本管理器扩展后才能安装此脚本。
Automatically progresses through Edmentum tutorials, waiting for each section to finish loading
// ==UserScript== // @name Edmentum Skip Through Tutorials // @version 1.0 // @description Automatically progresses through Edmentum tutorials, waiting for each section to finish loading // @author j01t3d // @match https://*.edmentum.com/courseware-delivery/* // @namespace https://github.com/j01t3d/edmentum-tutorial // @license MIT // ==/UserScript== const MAX_ATTEMPTS = 10; const RETRY_DELAY = 500; const CLICK_DELAY = 500; const POLL_INTERVAL = 300; function enableButtons(sections) { for (let child of sections.children) { let button = child.querySelector("button"); if (!button || button.className.includes("toc-current")) continue; button.className = "toc-section toc-visited"; button.removeAttribute("disabled"); console.log("[Edmentum Skip Through Tutorials]: Unlocked sect.", button.textContent.trim()); } } function waitForSectionComplete(button, callback) { const checkCompletion = setInterval(() => { if (button.className.includes("toc-visited")) { clearInterval(checkCompletion); console.log("[Edmentum Skip Through Tutorials]: Section completed", button.textContent.trim()); callback(); } }, POLL_INTERVAL); } function clickSectionsSequentially(sections) { let i = 0; function clickNext() { if (i >= sections.children.length) return; let button = sections.children[i].querySelector("button"); i++; if (button && !button.className.includes("toc-current")) { button.click(); console.log("[Edmentum Skip Through Tutorials]: Clicked sect.", button.textContent.trim()); waitForSectionComplete(button, () => { setTimeout(clickNext, CLICK_DELAY); }); } else { setTimeout(clickNext, CLICK_DELAY); } } clickNext(); } function findSections(attempt = 1) { const sections = document.querySelector(".tutorial-toc-sections"); if (!sections) { if (attempt >= MAX_ATTEMPTS) { console.log("[Edmentum Skip Through Tutorials]: Failed to locate sect. after " + attempt + " attempts."); return; } setTimeout(() => findSections(attempt + 1), RETRY_DELAY); } else { enableButtons(sections); clickSectionsSequentially(sections); } } findSections();
QingJ © 2025
镜像随时可能失效,请加Q群300939539或关注我们的公众号极客氢云获取最新地址