返回首頁 

奥鹏学生空间只看视频,课件与答题自动跳过

2022/11/5 11:09:20


Install this script?
// ==UserScript==// @name        奥鹏学生空间只看视频,课件与答题自动跳过// @namespace   http://tampermonkey.net/// @match       https://yunao.open.com.cn/stuspace/// @require     https://lib.baomitu.com/jquery/3.5.0/jquery.min.js// @grant       none// @version     1.6// @author      youngyy// @license     MIT// @description 2022/11/5 11:09:20// ==/UserScript==function addXMLRequestCallback(callback) {var oldSend, i;if (XMLHttpRequest.callbacks) {XMLHttpRequest.callbacks.push(callback);} else {XMLHttpRequest.callbacks = [callback];oldSend = XMLHttpRequest.prototype.send;XMLHttpRequest.prototype.send = function () {for (i = 0; i < XMLHttpRequest.callbacks.length; i++) {XMLHttpRequest.callbacks[i](this);}oldSend.apply(this, arguments);}}}function selectCheck() {let html = '';// alert("开始获取答案中...")// 获取试卷历史作答信息let variable = getQueryVariable('homeworkId');let his = `https://yunao.open.com.cn/api/student/student-space-service/testExam/getAnswerList?examineId=${variable}`req(his, (res) => {if (res.code === '1') {if (res.content.length === 1) {alert("请提交试卷后再次答题,将会自动获取答题正确信息!")return}// 最新答题记录let element = res.content[res.content.length - 1];let answerId = element.answerIdlet xUrl = `https://yunao.open.com.cn/api/student/student-space-service/examineAnswer/getHistoryDetail?answerId=${answerId}`req(xUrl, (res) => {if (res.code === '1') {let parse = JSON.parse(res.content.paperInfo);const items = parse?.Items || [];// 遍历题目for (let i = 0; i < items.length; i++) {const item = items[i];const itemI7 = item?.I7 || [];const itemChoices = item?.Choices || [];console.log(`题:${i+1}___答案:${itemI7}`)// 判断答题类型是否为选择题if(itemChoices.length == 0){continue;}if(itemChoices.length == 2){var xzt = itemChoices[0].I1 == 'T' || itemChoices[0].I1 == 'F'// 获取选择题答案组const selects = `#children${item?.I1} > div > div:nth-child(2) > div`;let dom = document.querySelector(selects);var daan = dom?.children[itemI7]var labels = daan.querySelector(".el-radio__label")if(labels){labels.style.backgroundColor='red'}}else{// 答案itemI7.forEach(c => {const selects = `#children${item?.I1} > div > div:nth-child(2) > div > div:nth-child(${Number(c) + 1}) > div > div > label`;const dom = document.querySelector(selects);dom?.click();});}}// alert("自动答题完成,请对照右侧答案核对一遍\n目前对多选的兼容性较差,保证100分的前提下,需仔细核对多选题、单选题")}})}})}function hasClass(element, className) {if (element?.className?.indexOf(className) > -1) {return true;} else {return false;}}function req(url, callback) {$.ajax({url: url,type: 'GET',dataType: 'json',headers: {'Authorization': 'Bearer ' + getCookie("XSKJ-ticket"),'open-student-space-profile': decodeURI(getCookie("XSKJ-Admin-Struct"))},success(data) {callback(data)}});}// 获取url参数信息function getQueryVariable(variable) {const query = window.location.href.split("?")[1];const vars = query.split("&");for (let i = 0; i < vars.length; i++) {const pair = vars[i].split("=");if (pair[0] === variable) {return pair[1];}}return false;}function getCookie(name) {var cookies = document.cookie.split(';');for (var i = 0; i < cookies.length; i++) {var cookie = cookies[i].trim();if (cookie.indexOf(name) === 0) {return cookie.substring(name.length + 1, cookie.length);}}return null;}(function () {'use strict';addXMLRequestCallback(function (xhr) {xhr.addEventListener("load", function () {// 课件 || 答题if (xhr.responseURL.includes('student-space-service/file/getFileOw365ById') || xhr.responseURL.includes('student-space-service/testPaper/getPaperById')) {// 点击下一课let nextDom = document.querySelector("#app > div > div > div.player-content.player-page > div.main > div.footer.clearfix > i.el-icon-arrow-right.fr")nextDom.click()// 视频清晰度修改let videos = document.querySelector("#J_prismPlayer_component_9B1EBA51-2E25-41A2-A8BC-1F4A145FC9C6 > div.prism-clarity-btn > ul > li.SD.clarity-btn")videos.click()}// 在线作业if (xhr.responseURL.includes('testExam/goDoExamine')) {// 延迟两秒执行setTimeout(()=>{selectCheck()},3000)}});});// // 添加按键监听// document.addEventListener("keydown", function (e) {//     console.log(e.key)//     if (e.key === 'r' && e.altKey) {//         // alert(1)//         selectCheck()//     }// });})();