您需要先安装一个扩展,例如 篡改猴、Greasemonkey 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 Userscripts ,之后才能安装此脚本。
您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。
您需要先安装用户脚本管理器扩展后才能安装此脚本。
在zut评教系统中按照一定比率自动评教
// ==UserScript== // @name zut自动评教 // @namespace http://zut.xx/ // @version 1.0 // @description 在zut评教系统中按照一定比率自动评教 // @author JiGuang-2018 // @match http://app.zut.edu.cn/jwapp/sys/jwwspj/*default/* // @icon https://www.google.com/s2/favicons?domain=zut.edu.cn // @grant GM_registerMenuCommand // @license MIT // ==/UserScript== (function() { 'use strict'; let config = { step:0, size:0, goodRate:0.8 } //注册(不可用)的菜单和对应执行的函数 let menus = [ { name:'*0.设置好评比例', event:setGoodRate }, { name:'1.读取题目数量', event:lookItems }, { name:'2.开始评教', event:Main }, ] //增加菜单 function addMenu(){ for(let menu of menus){ GM_registerMenuCommand(menu.name, menu.event) } } function setGoodRate(){ config.goodRate = prompt('请输入好评比例',0.8) * 1 } function lookItems(){ try{ config.size = document.querySelectorAll('.bh-radio-group-h').length if(config.size == 0) throw new Error('读取题目数量错误') config.step = 1 alert('读取题目成功,共' + config.size + '道') }catch(err){ alert('读取题目数量失败!') } } //const size = document.querySelectorAll('.bh-radio-group-h').length //const goodRate = 0.8 function calcArray(size,goodRate){ let res = [] let goodTimes = size * goodRate let badTimes = size - goodTimes for(let i = 0; i < goodTimes; i++) res.push(1) for(let i = 0; i < badTimes - 1; i++) res.push(3) res.sort((p,n)=>{ return (0.5 - Math.random()) }) return res } function selectOne(id,item){ try{ document.querySelectorAll('.bh-radio-group-h')[id].childNodes[item].click() }catch(err){ console.error(`在选择题目${id}的${item}项失败`) } } function Main(){ if(config.step != 1){ alert('请先再设置菜单中读取题目再评教') return } let array = calcArray(config.size,config.goodRate) for(let index in array) selectOne(index,array[index]) console.log('选择结束') alert('选择结束') } addMenu() // Your code here... })();
QingJ © 2025
镜像随时可能失效,请加Q群300939539或关注我们的公众号极客氢云获取最新地址