自动完成教学质量评价
// ==UserScript==
// @name 正方教育系统自动完成教学质量评价(杭电可用)
// @namespace http://tampermonkey.net/
// @version 1.5
// @description 自动完成教学质量评价
// @author You
// @match *://*.hdu.edu.cn/*
// @grant none
// ==/UserScript==
(function() {
var myEvaluate = {
simpleMode: function(){
/*****************
默认使用第16行代码,如果浏览器报错,则应改为第17行代码
*****************/
document.querySelector("#iframeautoheight").sandbox = "allow-scripts allow-forms allow-pointer-lock allow-same-origin";
//document.querySelector("#iframeautoheight").sandbox = "allow-scripts allow-forms allow-pointer-lock allow-same-origin allow-modals";
var iframe = document.getElementsByTagName("iframe")[0];
iframe.onload = function(){
if(iframe.contentDocument.getElementsByTagName('select')[0].selectedIndex <= iframe.contentDocument
.getElementsByTagName('select').length+2){
myEvaluate.simpleMode();
}
else{
console.log(myEvaluate.author);
console.log(myEvaluate.website);
console.log("输入myEvaluate.help以查看帮助");
myEvaluate.simpleMode= function(){return false;}
}
}
var x = document.getElementsByTagName("iframe")[0].contentDocument
.getElementsByTagName('select');
var btn = document.getElementsByTagName("iframe")[0].contentDocument
.getElementById("Button1");
var i = 0;
var flag = 0;
var option = ["A(非常满意)","B(满意)","C(基本满意)"]
for(i = 1; i <= x.length-1; i++){
if(Math.ceil(Math.random()*100) >= 15){
x[i].value = option[0];
flag++;
}
else{
x[i].value = option[1];
}
}
if(flag == 10){
x[3].value = option[1];
}
if(flag == 0){
myEvaluate.simpleMode();
}
btn.click();
},
angryMode: function(){
var x = document.getElementsByTagName("iframe")[0].contentDocument
.getElementsByTagName('select');
var btn = document.getElementsByTagName("iframe")[0].contentDocument
.getElementById("Button1");
var i = 0;
var flagA = 0,flagB = 0,flagC = 0;
var option = ["A(非常满意)","B(满意)","C(基本满意)"]
for(i = 1; i <= x.length-1; i++){
var rand = Math.ceil(Math.random()*100);
if(rand >= 99){
x[i].value = option[0];
flagA++;
}
else if(rand > 20 && rand < 99){
x[i].value = option[1];
flagB++;
}
else{
x[i].value = option[2];
flagC++;
}
}
if(flagA == 10){
x[3].value = option[1];
}
if(flagB == 10 || flagC == 10){
this.angryMode();
}
btn.click();
},
customizeMode: function(a, b, c){
/****************************************************************************
自定义模式,格式:myEvaluate.customizeMode(A的几率, B的几率);100与AB的差就是C的概率
例如要使A的几率为50 , B为30, C为20 则myEvaluate.customizeMode(50, 30)
*****************************************************************************/
var x = document.getElementsByTagName("iframe")[0].contentDocument
.getElementsByTagName('select');
var btn = document.getElementsByTagName("iframe")[0].contentDocument
.getElementById("Button1");
var i = 0;
var flagA = 0,flagB = 0,flagC = 0;
var option = ["A(非常满意)","B(满意)","C(基本满意)"]
for(i = 1; i <= x.length-1; i++){
var rand = Math.ceil(Math.random()*100);
if(rand >= 100-a){
x[i].value = option[0];
}
else if(rand > 100-a-b && rand < 100-a){
x[i].value = option[1];
}
else{
x[i].value = option[2];
}
}
if(flagA == 10){
x[3].value = option[1];
}
if(flagB == 10 || flagC == 10){
this.customizeMode(a, b, c);
}
btn.click();
},
author: "HDU-Nbsp",
from: "HelloWorld - Web",
website: "http://helloworld.hdu.edu.cn/",
help: "使用步骤 -> 复制代码粘贴到控制台后,可以选择三种评分模式:普通评分模式(A - 15%, B - 85%)极端愤怒模式(A - 1%, B - 79%, C - 20%)以及自定义模式格式:myEvaluate.customizeMode(A的几率, B的几率);100与AB的差就是C的概率。例如要使A的几率为50 , B为30, C为20 则myEvaluate.customizeMode(50, 30),三种模式代码分别是myEvaluate.simpleMode();myEvalute.angryMode();myEvaluate.customizeMode(a, b, c);切换页面后再次粘贴任意模式代码即可。最后需要点击一下 提交 按钮.入myEvaluate.help即可查看帮助"
}
myEvaluate.simpleMode();
})();