// ==UserScript== // @name 形势政策刷题 API2 // @namespace Violentmonkey Scripts // @match https://hfut.xuetangx.com/* // @version 0.2.1 // @author QuarkWitcher // @grant GM_xmlhttpRequest // @require https://apps.bdimg.com/libs/jquery/2.1.1/jquery.min.js // @require https://cdn.bootcss.com/blueimp-md5/2.10.0/js/md5.js // @description 大家笑一笑就好 // @downloadURL none // ==/UserScript== let allNum = 0 $(window).keydown(function (event) { String.prototype.replaceAll = function (s1, s2) { return this.replace(new RegExp(s1, "gm"), s2); } switch (event.key) { case 's': let lis = $('.paper-list>li'); // 主体页面没有加载完 if (lis.length == 0) { lpanel.html("还没加载完,请重试"); alert("还没加载完,请重试"); return false; } allNum = lis.length; blockGetAnswer(lis, 0) } }); function blockGetAnswer(lis, index) { if (index < lis.length) { let question = $(lis[index]).find('span.content').text(); getAnswer(question, lis[index]); setTimeout(function () { blockGetAnswer(lis, index + 1); }, 3000); } } function blockClick(lis, index) { if (index < lis.length) { lis[index].click() setTimeout(function () { blockClick(lis, index + 1); }, 3000); } } function getAnswer(question, containerElement) { GM_xmlhttpRequest({ method: 'GET', url: 'http://wk.bcaqfy.xin/cxapi?tm=' + encodeURIComponent(question), headers: { 'Content-type': 'application/x-www-form-urlencoded; charset=UTF-8', }, onload: function (xhr) { getStr = xhr.responseText.replaceAll("", "||") result = JSON.parse(getStr) answer = result.answer.split('||') containerElement.append( `>>>${result.answer}<<<` ) answerInputElements = $(containerElement).find('input') console.log("====================================") console.log(result.tm) console.log(answer) clickList = [] for (let i = 0; i < answerInputElements.length; i++) { for (let j = 0; j < answer.length; j++) { if (answerInputElements[i].value == answer[j]) { console.log("选中", answer[j]) clickList.push(answerInputElements[i]) } } } blockClick(clickList,0) }, ontimeout: function () { console.log('超时') containerElement.append( `>>> 获取失败 <<< ` ) } }) }