您需要先安装一个扩展,例如 篡改猴、Greasemonkey 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 Userscripts ,之后才能安装此脚本。
您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。
您需要先安装用户脚本管理器扩展后才能安装此脚本。
需要先提交一次(平台作业默认能提交两次) 获取到正确答案后会自动选择正确答案 需手动再次提交
当前为
// ==UserScript== // @name 郑州轻工业大学在线学习平台自动选择正确答案 // @version 1.0 // @description 需要先提交一次(平台作业默认能提交两次) 获取到正确答案后会自动选择正确答案 需手动再次提交 // @author xiaoding // @license MIT // @match https://zzuli.hnscen.cn/classroom/myClassroom/* // @require https://apps.bdimg.com/libs/jquery/2.1.4/jquery.min.js // @grant none // @namespace https://greasyfork.org/users/1225149 // ==/UserScript== var scriptExecuted = false; // 在主页面中添加事件监听器 (function () { 'use strict'; // 定义脚本函数 function runScript() { var scriptExecuted = false; // 检查脚本是否已执行 if (scriptExecuted) { return; } // 获取提交次数 var submissionCount = parseInt($("div[data-v-2d1d61ff] span[data-v-2d1d61ff].ml_2").next().text()); // 如果提交次数不为1,则不执行代码 if (submissionCount !== 1) { return; } // 设置脚本已执行标志 scriptExecuted = true; setTimeout(function () { var singleChoiceQuestions = $("div[data-v-2d1d61ff].mt_2:has(.el-radio-group)"); // 根据题型选择相应的题目容器 singleChoiceQuestions.each(function () { var questionType = $(this).find(".titleType").text(); // 获取题目类型 if (questionType.includes("单选")) { // 判断题目类型是否为单选题 var question = $(this).find(".titleType").text(); // 获取题目 var options = $(this).find(".el-radio__label").map(function () { // 获取选项 return $(this).text().trim(); }).get(); var answer = $(this).find(".mr_2").next().text().trim(); // 获取答案 console.log("题目:" + question); console.log("选项:" + options); console.log("答案:" + answer); // 模拟点击答案 var answerIndex =-1; switch (answer) { case "A": answerIndex = 0; break; case "B": answerIndex = 1; break; case "C": answerIndex = 2; break; case "D": answerIndex = 3; break; case "E": answerIndex = 4; break; case "F": answerIndex = 5; break; default: answerIndex = -1; } if (answerIndex !== -1) { var answerElement = $(this).find(".el-radio").eq(answerIndex); answerElement.click(); } } }); var multiChoiceQuestions = $("div[data-v-2d1d61ff].mt_2:has(.el-checkbox-group)"); // 根据题型选择相应的题目容器 multiChoiceQuestions.each(function () { var questionType = $(this).find(".titleType").text(); // 获取题目类型 if (questionType.includes("多选")) { // 判断题目类型是否为多选题 var question = $(this).find(".titleType").text(); // 获取题目 var options = $(this).find(".el-checkbox__label").map(function () { // 获取选项 return $(this).text().trim(); }).get(); var answer = $(this).find(".mr_2").next().text().trim(); // 获取答案 console.log("题目:" + question); console.log("选项:" + options); console.log("答案:" + answer); // 模拟点击答案 var answerIndexes = []; for (var i = 0; i < answer.length; i++) { switch (answer[i]) { case "A": answerIndexes.push(0); break; case "B": answerIndexes.push(1); break; case "C": answerIndexes.push(2); break; case "D": answerIndexes.push(3); break; case "E": answerIndexes.push(4); break; case "F": answerIndexes.push(5); break; } } var answerElements = $(this).find(".el-checkbox"); if (answerIndexes.length > 0) { answerIndexes.forEach(function (index) { setTimeout(function () { answerElements.eq(index).click(); }, 1500); // 添加1秒的等待时间 }); } } }); // 判断题 var trueFalseQuestions = $("div[data-v-2d1d61ff].mt_2:has(.el-radio-group)"); // 根据题型选择相应的题目容器 trueFalseQuestions.each(function () { var questionType = $(this).find(".titleType").text(); // 获取题目类型 if (questionType.includes("判断")) { // 判断题目类型是否为判断题 var question = $(this).find(".titleType").text(); // 获取题目 var answer = $(this).find(".mr_2").next().text().trim(); // 获取答案 console.log("题目:" + question); console.log("答案:" + answer); // 模拟点击答案 var answerElement = $(this).find(".el-radio").eq(answer === "正确" ? 0 : 1); answerElement.click(); } }); }, 2000); // 3秒的延迟 } // 在主页面中添加事件监听器 runScript(); // 创建MutationObserver实例,用于监视子页面的DOM变化 var observer = new MutationObserver(function (mutationsList, observer) { // 判断是否是子页面加载完成的变化 if (mutationsList.some(function (mutation) { return mutation.type === 'childList' && mutation.addedNodes.length > 0; })) { // 调用脚本的函数 runScript(); } }); // 启动MutationObserver observer.observe(document.body, { childList: true, subtree: true }); })();