您需要先安装一个扩展,例如 篡改猴、Greasemonkey 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 Userscripts ,之后才能安装此脚本。
您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。
您需要先安装用户脚本管理器扩展后才能安装此脚本。
自动完成所有评教,全选优秀但随机一个选良好,自动跳转到下一个老师
// ==UserScript== // @name 信阳学院自动评教 // @namespace http://tampermonkey.net/ // @version 1.1 // @license MIT // @description 自动完成所有评教,全选优秀但随机一个选良好,自动跳转到下一个老师 // @author AI助手 // @match https://jw.xyu.edu.cn/eams/homeExt.action* // @match https://jw.xyu.edu.cn/eams/quality/stdEvaluate* // @grant none // ==/UserScript== (function() { 'use strict'; // 等待页面加载完成 window.addEventListener('load', function() { console.log('页面加载完成,检查页面类型...'); // 检查是否在评教列表页面 if (document.querySelector('.gridtable') && !document.querySelector('#question-list')) { console.log('当前在评教列表页面'); addAutoEvaluateAllButton(); // 如果URL中包含自动评教参数,自动点击下一个评教链接 if (window.location.href.includes('autoEvaluate=true')) { console.log('检测到自动评教参数,准备点击下一个评教链接'); setTimeout(clickNextEvaluationLink, 1000); } } // 检查是否在评教问卷页面 else if (document.querySelector('#question-list')) { console.log('当前在评教问卷页面,开始自动评教...'); setTimeout(function() { autoEvaluate(); // 如果URL中包含自动评教参数,自动提交 if (window.location.href.includes('autoEvaluate=true')) { console.log('检测到自动评教参数,3秒后自动提交'); setTimeout(function() { document.querySelector('#sub').click(); }, 3000); } }, 1000); } }); // 添加"自动评教全部"按钮 function addAutoEvaluateAllButton() { const gridDiv = document.querySelector('.grid'); if (!gridDiv) return; const autoEvalAllBtn = document.createElement('button'); autoEvalAllBtn.textContent = '自动评教全部'; autoEvalAllBtn.style.backgroundColor = '#4CAF50'; autoEvalAllBtn.style.color = 'white'; autoEvalAllBtn.style.padding = '10px 15px'; autoEvalAllBtn.style.margin = '10px 0'; autoEvalAllBtn.style.border = 'none'; autoEvalAllBtn.style.borderRadius = '4px'; autoEvalAllBtn.style.cursor = 'pointer'; autoEvalAllBtn.style.fontSize = '16px'; autoEvalAllBtn.onclick = function() { if (confirm('确定要自动完成所有评教吗?将会自动选择所有选项为"优秀",但每个问卷随机一个选项为"良好"。')) { clickNextEvaluationLink(); } }; // 将按钮添加到表格前面 gridDiv.parentNode.insertBefore(autoEvalAllBtn, gridDiv); // 添加状态显示区域 const statusDiv = document.createElement('div'); statusDiv.id = 'autoEvalStatus'; statusDiv.style.margin = '10px 0'; statusDiv.style.padding = '10px'; statusDiv.style.backgroundColor = '#f8f8f8'; statusDiv.style.border = '1px solid #ddd'; statusDiv.style.borderRadius = '4px'; statusDiv.innerHTML = '<b>自动评教状态:</b>就绪,点击上方按钮开始自动评教'; gridDiv.parentNode.insertBefore(statusDiv, gridDiv); } // 点击下一个评教链接 function clickNextEvaluationLink() { const evalLinks = document.querySelectorAll('a[href*="stdEvaluate!answer.action"]'); if (evalLinks.length > 0) { // 更新状态 const statusDiv = document.getElementById('autoEvalStatus'); if (statusDiv) { statusDiv.innerHTML = `<b>自动评教状态:</b>正在处理,剩余 ${evalLinks.length} 个评教任务...`; } console.log(`找到 ${evalLinks.length} 个未完成的评教链接,点击第一个`); // 修改链接,添加自动评教参数 let nextLink = evalLinks[0].href; if (nextLink.includes('?')) { nextLink += '&autoEvaluate=true'; } else { nextLink += '?autoEvaluate=true'; } // 点击链接 window.location.href = nextLink; } else { console.log('没有找到未完成的评教链接,评教已全部完成'); // 更新状态 const statusDiv = document.getElementById('autoEvalStatus'); if (statusDiv) { statusDiv.innerHTML = '<b>自动评教状态:</b>所有评教任务已完成!'; statusDiv.style.backgroundColor = '#e6ffe6'; statusDiv.style.border = '1px solid #4CAF50'; } alert('所有评教任务已完成!'); } } // 自动填写评教问卷 function autoEvaluate() { // 获取所有问题 const questions = document.querySelectorAll('.qBox.objective.required'); if (questions.length === 0) { console.log('未找到评教问题,请检查页面结构'); return; } console.log(`找到 ${questions.length} 个评教问题`); // 随机选择一个问题设为"良好" const randomIndex = Math.floor(Math.random() * questions.length); console.log(`随机选择第 ${randomIndex + 1} 个问题设为"良好"`); // 遍历所有问题 questions.forEach((question, index) => { const questionId = question.id.replace('question_', ''); // 如果是随机选中的问题,选择"良好" if (index === randomIndex) { const goodOption = document.querySelector(`#option_${questionId}_1`); if (goodOption) { goodOption.click(); console.log(`问题 ${questionId} 已选择"良好"`); } } // 其他问题选择"优秀" else { const excellentOption = document.querySelector(`#option_${questionId}_0`); if (excellentOption) { excellentOption.click(); console.log(`问题 ${questionId} 已选择"优秀"`); } } }); // 添加一个自动提交按钮 const autoSubmitBtn = document.createElement('button'); autoSubmitBtn.textContent = '自动提交评教'; autoSubmitBtn.style.backgroundColor = '#4CAF50'; autoSubmitBtn.style.color = 'white'; autoSubmitBtn.style.padding = '10px 15px'; autoSubmitBtn.style.margin = '10px'; autoSubmitBtn.style.border = 'none'; autoSubmitBtn.style.borderRadius = '4px'; autoSubmitBtn.style.cursor = 'pointer'; autoSubmitBtn.onclick = function() { document.querySelector('#sub').click(); }; // 将按钮添加到页面 const submitArea = document.querySelector('#sub').parentNode; submitArea.insertBefore(autoSubmitBtn, submitArea.firstChild); // 显示评教信息 const teacherInfo = document.querySelector('#base-info p'); if (teacherInfo) { console.log('当前评教信息: ' + teacherInfo.textContent); // 添加评教信息显示 const infoDiv = document.createElement('div'); infoDiv.style.margin = '10px'; infoDiv.style.padding = '10px'; infoDiv.style.backgroundColor = '#f0f8ff'; infoDiv.style.border = '1px solid #add8e6'; infoDiv.style.borderRadius = '4px'; infoDiv.innerHTML = ` <p><b>自动评教进行中</b></p> <p>当前评教: ${teacherInfo.textContent}</p> <p>已随机选择第 ${randomIndex + 1} 个问题为"良好",其余为"优秀"</p> <p>自动模式下将在3秒后提交</p> `; const headDiv = document.querySelector('#head'); if (headDiv) { headDiv.parentNode.insertBefore(infoDiv, headDiv.nextSibling); } } console.log('自动评教完成,请检查并提交'); } })();