您需要先安装一个扩展,例如 篡改猴、Greasemonkey 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 Userscripts ,之后才能安装此脚本。
您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。
您需要先安装用户脚本管理器扩展后才能安装此脚本。
Greasy Fork is available in English.
教务系统自动填写账号密码,按下回车一键自动评教,iframe框架内显示看板娘功能
当前为
// ==UserScript== // @name SYUCT沈阳化工大学教务系统助手 // @namespace http://tampermonkey.net/ // @version 3.3 // @description 教务系统自动填写账号密码,按下回车一键自动评教,iframe框架内显示看板娘功能 // @author Yuhang Shang // @match *://*.syuct.edu.cn/* // @icon https://www.shangyuhang.icu/favicon/64_64.ico // @grant none // @license MIT // ==/UserScript== (function() { 'use strict'; //使用帮助 //在使用脚本按键前:请先点击评教页面表格任意位置,使脚本能够获取焦点 //按下回车键自动填写教师评价(随机一行是良好,其余行均为优秀) //======================================= // 请在此填写您的账号和密码 //======================================= var your_username='你的账号';//此处填写你的学号 var your_password='你的密码';//此处填写你的密码 var op = true;//true表示原神启动,false表示不启动原神 //全局变量 var StudentLoginURL='default2.aspx';//学生登录页面url var iiframe;//用来获取内部iframe框架的变量 var girl_link;//存储引入桌宠项目所需添加的link元素 var girl_script;//存储引入桌宠项目所需添加的script元素 var randNum;//随机数 //键盘监听事件 document.addEventListener('keydown', my); function my(e){ if(e.keyCode==13){ write(); } } //自动评价功能 function write(){ //此时我默认前两列是大写,后面的列数都为小写,如果有4列以上的评教结构且非此规则的话,请告知我 //查找有多少行 let rows=document.querySelector('#DataGrid1').rows.length-1; //查找有多少列(减去前三列非填写项,2列大写情况) let colums = document.querySelector('#DataGrid1').rows[0].cells.length-3; //判断是单列评教还是多列评教 if(colums == 1){ singleWrite(rows,colums); } else{ binaryWrite(rows,colums); } //随机一行为良好的备用代码 //var final=document.getElementById('DataGrid1__ctl2_JS1'); //final.value='良好'; //点击保存按钮 document.querySelector('#Button1').click(); } //多列评教 //二重循环遍历行列 //要两次遍历,因为学校系统很愚蠢的第三列第四列又变为小写规则编号命名,我不理解 function binaryWrite(rows,colums){ //第一次遍历行列,大写形式 for(let j=1;j<=2;j++){ //先将所有行全填为优秀 for(let i=0;i<rows;i++){ let my_selector='#DataGrid1__ctl'+(i+2)+'_JS'+j; document.querySelector(my_selector).value='优秀'; //console.log(my_selector); } //再随机一行填为良好 randNum=randomNum(2,1+rows); let my_selector2='#DataGrid1__ctl'+randNum+'_JS'+j; document.querySelector(my_selector2).value='良好'; } //第二次遍历行列,小写形式 for(let j=3;j<=colums;j++){ //先将所有行全填为优秀 for(let i=0;i<rows;i++){ let my_selector='#DataGrid1__ctl'+(i+2)+'_js'+j; document.querySelector(my_selector).value='优秀'; } //再随机一行填为良好 randNum=randomNum(2,1+rows); let my_selector2='#DataGrid1__ctl'+randNum+'_js'+j; document.querySelector(my_selector2).value='良好'; } } //单列评教 function singleWrite(rows,colums) { //先将所有行全填为优秀 for(let i=0;i<rows;i++){ let my_selector='#DataGrid1__ctl'+(i+2)+'_JS1'; document.querySelector(my_selector).value='优秀'; //console.log(my_selector); } //再随机一行填为良好 randNum=randomNum(2,1+rows); let my_selector2='#DataGrid1__ctl'+randNum+'_JS1'; document.querySelector(my_selector2).value='良好'; } //随机函数,返回一个介于minNum和maxNum之间的值(包括两端边界) function randomNum(minNum,maxNum){ switch(arguments.length){ case 1: return parseInt(Math.random()*minNum+1,10);break; case 2: return parseInt(Math.random()*(maxNum-minNum+1)+minNum,10);break; default: return 0;break; } } //学生登录系统 var windowURL = window.location.href; if (windowURL.indexOf(StudentLoginURL) != -1) { createGirl(); document.querySelector('#txtUserName').value=your_username; document.querySelector('#TextBox2').value=your_password; if(op){ genshin(); } } //添加桌宠 //createGirl(); //window.onload=function {setTimeout(deleteGirl(),5000);} //判断是否有iframe框架 if(iiframe = document.getElementById('iframeautoheight')) { //等待内部框架加载完毕再生成桌宠 iiframe.onload=function(){ //获取iframe窗口句柄 iiframe = document.getElementById('iframeautoheight').contentWindow; //添加link元素 girl_link = iiframe.document.createElement('link'); girl_link.setAttribute('hreflang','zh'); girl_link.setAttribute('rel','stylesheet'); girl_link.setAttribute('href','https://cdn.jsdelivr.net/npm/font-awesome/css/font-awesome.min.css'); girl_link.setAttribute('id','girl_link'); iiframe.document.head.appendChild(girl_link); //添加script元素 girl_script=iiframe.document.createElement('script'); girl_script.setAttribute('src','https://cdn.jsdelivr.net/gh/stevenjoezhang/live2d-widget@latest/autoload.js'); girl_script.setAttribute('id','girl_script'); iiframe.document.head.appendChild(girl_script);} } //在内嵌iframe页面删除桌宠 function deleteGirl(){ window.alert('delete'); iiframe = document.getElementById('#iframeautoheight').contentWindow; iiframe.document.querySelector('#live2d').remove(); } //左下角添加桌宠(全局作用,慎用) function createGirl(){ var girl_link = document.createElement('link'); girl_link.setAttribute('hreflang','zh'); girl_link.setAttribute('rel','stylesheet'); girl_link.setAttribute('href','https://cdn.jsdelivr.net/npm/font-awesome/css/font-awesome.min.css'); document.head.appendChild(girl_link); var girl_script=document.createElement('script'); girl_script.setAttribute('src','https://cdn.jsdelivr.net/gh/stevenjoezhang/live2d-widget@latest/autoload.js'); document.head.appendChild(girl_script); } //原神启动! function genshin(){ //左栏图片 var indexImg = document.querySelector('#form1 > div > div.login_left > img'); indexImg.src = "https://i.imoe.xyz/optimizer/webp/22c19dfe47c54e7d2996c9f6be66180f"; indexImg.style.width='120%'; //底部版权说明 document.querySelector('#form1 > div > div.login_copyright > span > span').textContent = '原神启动!'; document.querySelector("#form1 > div > div.login_copyright > span > span").style.color = 'red'; //顶部logo var indexLogo = document.querySelector('#form1 > div > div.login_logo > h3 > img'); indexLogo.src = 'https://i.imoe.xyz/optimizer/raw/01H8HB35MNFC3VW8Y75BFAQMSC.png'; //页面标题 document.title = '原神启动!'; } })();