Greasy Fork is available in English.
高等继续教育网自动刷课刷题,只适用于该网址:?.jxjypt.cn
当前为
// ==UserScript==
// @name 高等继续教育网自动刷课刷题
// @namespace http://greasyfork.org/
// @version 1.2
// @description 高等继续教育网自动刷课刷题,只适用于该网址:?.jxjypt.cn
// @author Roc.w
// @match http*://*.jxjypt.cn/*
// @icon https://www.jxjypt.cn/indexpage/images/icon.ico
// @grant none
// @license AGPL License
// ==/UserScript==
console.log('您已进入高等继续教育网')
init()
function init() {
let param = {
ele: document.createElement('div'),
css: "position:fixed;" +
"bottom:100px;" +
"box-shadow:10px 10px 10px gray;" +
"right:20px;" +
"display:block;" +
"font-size:14px;" +
"color:#fff;" +
"z-index:1000;" +
"height:70px;" +
"width:70px;" +
"background:#f44336;" +
"border-radius:50%;" +
"line-height:70px;" +
"text-align:center;"+
"cursor: pointer;"
};
document.querySelector('body').appendChild(((ele)=> {
ele.id = 'smart-topic';
ele.innerHTML = '一键观答';
ele.style.cssText = param.css;
return ele;
})(param.ele));
}
//监听智能操作
document.getElementById("smart-topic").addEventListener("click", function(){
watch();
answer();
});
//作业答题
function answer(){
//自动展开答案
var zkjxs = document.getElementsByClassName('zkjx')
for (let i = 0; i < zkjxs.length; i++)
{
zkjxs[i].click()
}
//自动填充填空、简答题答案
var wenzis = document.getElementsByClassName('wenzi')
for (let i = 0; i < wenzis.length; i++)
{
if((i%2)===0){
var txt = wenzis[i].innerHTML.replace(/^\s*|\s*$/g, "").replace(/ /gi, "")
var textarea = document.getElementsByClassName('e__textarea')
if (textarea.length>0) {
textarea[(i/2)].value = txt
}
//有可能是课程选择题
var danan = wenzis[(i/2)].innerHTML.replace(/^\s*|\s*$/g, "").replace(/ /gi, "")
var options = document.getElementsByClassName('m-question-option');
for (let j = 0; j < options.length; j++) {
var vale = options[j].getAttribute('data-value');
if (danan==vale) {
options[j].click()
}
}
}
}
//自动选择选择题答案
var rights = document.getElementsByClassName('right')
for (let i = 0; i < rights.length; i++) {
var daan = rights[i].innerHTML
var answers = document.getElementsByClassName('sub-answer sub-picon-no clearfix ')
for (let j = 0; j < answers[i].children.length; j++) {
var val = answers[i].children[j].getAttribute('data-value');
for (let k = 0; k < daan.length; k++) {
if (daan[k]==val) {
answers[i].children[j].click()
}
}
}
}
}
//观看课程
async function watch() {
var courses = document.getElementsByClassName('z-gery-icon')
for (let i = 0; i < courses.length; i++) {
await (function(){
return new Promise(function(res, rej){
setTimeout(function(){
courses[i].click();
try {
var jid = courses[i].getAttribute('data-jie-id');
if (jid) {
var pid = document.getElementsByClassName('sub-content m-question')[0].getAttribute('data-pid');
var qid = document.getElementsByClassName('sub-content m-question')[0].getAttribute('data-qid');
var sid = document.getElementsByClassName('sub-content m-question')[0].getAttribute('data-sid');
var answer = document.getElementsByClassName('wenzi')[0].innerHTML.replace(/^\s*|\s*$/g, "").replace(/ /gi, "");
var param = 'sid='+sid+'&jid='+jid+'&qid='+qid+'&pid='+pid+'&answer='+answer+''
console.log('提交答案---'+param)
var callback = function(data) { console.log(data) }
postData('/classroom/question/submit',param,callback)
}
} catch (error) {
}
res();
},2000)
})
}())
}
if (courses.length>0) {
location.reload()
}
}
//psot请求
function postData(url, param, callback) {
var xhr = new XMLHttpRequest();
xhr.onreadystatechange = function() {
if(xhr.readyState == 4) {
if((xhr.status >= 200 && xhr.status < 300) || xhr.status == 304){
callback && callback(xhr.responseText);
}
}
}
xhr.open('POST', url, true);
xhr.setRequestHeader('Content-Type','application/x-www-form-urlencoded; charset=UTF-8');
xhr.send(param);
}