Greasy Fork is available in English.
学习通自动评价,默认满分
当前为
// ==UserScript==
// @name Mutx163学习通自动评教
// @namespace http://tampermonkey.net/
// @version v1.21
// @description 学习通自动评价,默认满分
// @author Mutx163
// @match https://newes.chaoxing.com/newesMobile/*
// @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(() => {
// 查找所有标记为5分的<i>元素并模拟点击
const options = document.querySelectorAll('i.inputvalue.reselect1[score="5.0"]');
if (options.length > 0) {
options.forEach(option => {
const clickEvent = new MouseEvent('click', {
bubbles: true,
cancelable: true,
view: window
});
option.dispatchEvent(clickEvent);
});
console.log('已找到并点击所有5分选项。');
} else {
console.error('未找到5分选项按钮。');
}
// 查找<textarea>元素并填入“无”
const textarea = document.querySelector('textarea.InputBox_fidarea');
if (textarea) {
textarea.value = '无';
const keyupEvent = new Event('keyup', {
bubbles: true,
cancelable: true
});
textarea.dispatchEvent(keyupEvent);
} 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('li.cx_alert-blue');
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毫秒以确保<textarea>的值被正确设置和处理
}, 1000); // 延迟1秒执行,根据实际加载时间调整
}