您需要先安装一个扩展,例如 篡改猴、Greasemonkey 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 Userscripts ,之后才能安装此脚本。
您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。
您需要先安装用户脚本管理器扩展后才能安装此脚本。
try to take over the world!
当前为
// ==UserScript== // @name 云题库刷题辅助 // @namespace http://tampermonkey.net/ // @version 1.1 // @description try to take over the world! // @author 吃瓜男孩 // @match http://tiku.kgc.cn/testing/* // @grant GM_setValue // @grant GM_getValue // @grant GM_xmlhttpRequest //@connect * // ==/UserScript== var currentURL = window.location.href; (function() { 'use strict'; jQuery.support.cors = true; var answerURL = /tiku\.kgc\.cn\/testing\/exam*/; var sumbitURL = /tiku\.kgc\.cn\/testing\/paper\/report*/; if (answerURL.test(currentURL)) { var data = new Array(); var answerMap = new Map(); var questHTML = $(".sec2>pre>img"); var reg = /\d{10,15}/; var addHTML = $('<a id="getAnswer" href="javascript:void(0);" class="f14 rest acenter"></a>').text("获取答案").click(function() { var quests = new Array(); for (var i = 0; i < questHTML.length; i++) { var src = $(questHTML[i]).attr("src"); quests.push(reg.exec(src)[0]) } GM_xmlhttpRequest({ method: "post", url: 'http://tiku.yxmnb.top:8099/answer/get', data: JSON.stringify(quests), headers: { "Content-Type": 'application/json;charset=utf-8' }, onload: function(r) { if (r.status == 200) { var answerResult = []; answerResult = JSON.parse(r.responseText); if (answerResult.length > 0) { for (var i = 0; i < answerResult.length; i++) { answerMap.set(answerResult[i].questId, answerResult[i].answer.split(",")) } for (var a = 0; a < questHTML.length; a++) { var src = reg.exec($(questHTML[a]).attr("src"))[0]; for (var [key, value] of answerMap) { if (src == key) { var options = $(questHTML[a]).parents(".sec").find(".sec2>li"); if (value.length == 1) { options[value[0]].click() } else { for (var q = 0; q < value.length; q++) { options[value[q]].click() } } } } } } else { alert("题库里面一道题也没有,快答题扩充题库吧") } } } }) }); $("#putIn").after(addHTML); $("#putIn").click(function() { for (var i = 0; i < questHTML.length; i++) { var src = $(questHTML[i]).attr("src"); if (reg.test(src)) { var questId = reg.exec(src)[0]; var questNo = $(questHTML[i]).parents(".sec").find(".sec3").find(".font-color").parent().attr("data").split(",")[4]; var questType = $(questHTML[i]).parents(".sec").find(".sec3").find(".font-color").parent().attr("data").split(",")[5]; var answer = null; var answerText = null; if (questType != "1") { var answerHTML = $(questHTML[i]).parents(".sec").find(".sec3").find(".green>a"); for (var j = 0; j < answerHTML.length; j++) { var answerNum = $(answerHTML[j]).attr("data"); if (answer == null || answer == '') { answer = answerNum; answerText = $(questHTML[i]).parents(".sec").find("ul").children().eq(answerNum).text() } else { answer += "," + answerNum; answerText += "," + $(questHTML[i]).parents(".sec").find("ul").children().eq(answerNum).text() } } } else { answer = $(questHTML[i]).parents(".sec").find(".sec3").find(".green>a").attr("data"); answerText = $(questHTML[i]).parents(".sec").find("ul").children().eq(answer).text() } var obj = { questId: questId, questType: questType, answer: answer, answerText: answerText }; data[i] = obj } } for (var [k, v] of answerMap) { for (var d of data) { if (k == d.questId) { d.questType = 0 } } } GM_setValue("data", data) }) } else if (sumbitURL.test(currentURL)) { data = GM_getValue("data"); var answerHTML = $("#cardNum").children(); var correctData = new Array(); var index = 0; for (var i = 0; i < answerHTML.length; i++) { if ($(answerHTML[i]).attr("class") == "red" || data[i].questType == 0) { data[i] = null } else { correctData[index] = data[i]; index++ } } if (correctData.length > 0) { GM_xmlhttpRequest({ method: "post", url: 'http://tiku.yxmnb.top:8099/answer/save', data: JSON.stringify(correctData), headers: { "Content-Type": 'application/json;charset=utf-8' }, onload: function(r) { if (r.status == 200) { console.log(r.responseText) } } }) } } })();