学习通自动评价,默认满分
当前为
// ==UserScript==
// @name Mutx163学习通自动评教
// @namespace http://tampermonkey.net/
// @version v1.22
// @description 学习通自动评价,默认满分
// @author Mutx163
// @match https://newes.chaoxing.com/pj/newesReception/questionnaireInfo*
// @icon
// @license MIT
// @grant none
// ==/UserScript==
//默认开启了自动提交,把不喜欢的话自动提交下面的那行代码注释掉即可
window.onload = function() {
'use strict';
// 创建一个按钮用于控制自动评教
const autoEvaluateButton = document.createElement('button');
autoEvaluateButton.textContent = '启动自动评教';
autoEvaluateButton.style.position = 'fixed';
autoEvaluateButton.style.top = '10px';
autoEvaluateButton.style.right = '10px';
autoEvaluateButton.style.zIndex = '1000';
document.body.appendChild(autoEvaluateButton);
// 检查localStorage中的状态
const autoEvaluateEnabled = localStorage.getItem('autoEvaluateEnabled') === 'true';
// 根据存储的状态更新按钮文本
autoEvaluateButton.textContent = autoEvaluateEnabled ? '禁用自动评教' : '启动自动评教';
autoEvaluateButton.addEventListener('click', function() {
const isEnabled = localStorage.getItem('autoEvaluateEnabled') === 'true';
localStorage.setItem('autoEvaluateEnabled', !isEnabled);
autoEvaluateButton.textContent = !isEnabled ? '禁用自动评教' : '启动自动评教';
if (!isEnabled) {
startAutoEvaluation();
}
});
// 如果已启用,自动开始评教
if (autoEvaluateEnabled) {
startAutoEvaluation();
}
};
function startAutoEvaluation() {
setTimeout(() => {
// 查找所有 class 为 'dafen' 的输入框,并自动填写满分
const scoreInputs = document.querySelectorAll('input.dafen');
if (scoreInputs.length > 0) {
scoreInputs.forEach(input => {
const maxScore = input.getAttribute('maxscore'); // 获取最大分数
input.value = maxScore; // 自动填写最大分数
const keyupEvent = new Event('keyup', {
bubbles: true,
cancelable: true
});
input.dispatchEvent(keyupEvent); // 触发输入事件,使前端行为一致
});
console.log('已找到并填写所有评分框的满分。');
} else {
console.error('未找到评分输入框。');
}
// 查找 class 为 'blueTextarea' 的文本框并自动填写 "无"
const textareas = document.querySelectorAll('textarea.blueTextarea');
if (textareas.length > 0) {
textareas.forEach(textarea => {
textarea.value = '无'; // 自动填写 "无"
const keyupEvent = new Event('keyup', {
bubbles: true,
cancelable: true
});
textarea.dispatchEvent(keyupEvent); // 触发输入事件
});
console.log('已找到并填写所有文本框为 "无"。');
} else {
console.error('未找到文本输入区域。');
}
// 延迟点击提交按钮,确保前面的操作已完成
setTimeout(() => {
const submitButton = document.querySelector('a[onclick="save(2);"]');
if (submitButton) {
const clickEvent = new MouseEvent('click', {
bubbles: true,
cancelable: true,
view: window
});
submitButton.dispatchEvent(clickEvent);
console.log('提交按钮已模拟点击。');
// 延迟点击弹窗中的“确定”按钮,以确保弹窗已经出现
setTimeout(() => {
const confirmButton = document.querySelector('a.layui-layer-btn0');
if (confirmButton) {
const clickEvent = new MouseEvent('click', {
bubbles: true,
cancelable: true,
view: window
});
confirmButton.dispatchEvent(clickEvent);
console.log('弹窗中的“确定”按钮已模拟点击。');
} else {
console.error('弹窗中的“确定”按钮未找到。');
}
}, 1000); // 根据弹窗出现的实际延迟调整这个时间
} else {
console.error('提交按钮未找到,需要手动提交或检查选择器。');
}
}, 500); // 延迟500毫秒以确保所有评分框和文本框的值被正确设置和处理
}, 1000); // 延迟1秒执行,根据实际加载时间调整
}