// ==UserScript== // @name xauat自动评教脚本 // @namespace http://tampermonkey.net/ // @version 1.0 // @description xauat自动评教 // @author huang // @match https://swjw.xauat.edu.cn/evaluation-student-frontend/* // @grant none // @downloadURL none // ==/UserScript== (function () { 'use strict'; console.log('xauat自动评教脚本-1.0'); // 定义延迟函数 function sleep(ms) { return new Promise(resolve => setTimeout(resolve, ms)); } async function autoEvaluate() { // 等待页面加载完成 await sleep(3000); // 选择并点击评教按钮 let evaluateBtn = document.querySelector('.el-button.el-button--primary.el-button--mini.is-plain.is-round.borderhalf'); if (evaluateBtn) { evaluateBtn.click(); console.log('评教按钮点击成功'); await sleep(1000); // 等待页面切换 } // 获取所有选项并模拟点击选中 let items = document.querySelectorAll('.item'); for (let item of items) { let option_count = 0; let options = item.querySelectorAll('label.el-checkbox'); for (let option of options) { let checkbox = option.querySelector('input.el-checkbox__original'); if (checkbox && !checkbox.checked) { // 确定未选中状态 checkbox.click(); // 模拟点击选中 console.log(`选项 ${checkbox.value} 已选中`); } await sleep(300); if (option_count++ >= 3) { break; } } let textarea = document.querySelector('textarea.el-textarea__inner'); if (textarea) { textarea.value = '这个老师真棒!'; textarea.dispatchEvent(new Event('input', { bubbles: true })); console.log('已填写评教内容'); } } // 找到并点击提交按钮 let submitBtn = document.querySelector('.el-button.el-button--primary.el-button--small'); if (submitBtn) { submitBtn.click(); console.log('提交按钮点击成功'); alert('评教已自动完成并提交!'); } } // Hook Vue路由变化 document.querySelector("#app").__vue__.$router.afterHooks.push((to, from) => { console.log('handleRoutingEvent', to, from); if (to.path.startsWith("/timelySurvey/")) { console.log('autoEvaluate'); autoEvaluate(); } }); })();