// ==UserScript== // @name 学法 // @namespace http://hn.12348.gov.cn/fxmain/subpage/legalpublicity/* // @version 0.7 // @description 自动提交学法 // @author MEN // @match http://hn.12348.gov.cn/fxmain/subpage/legalpublicity/* // @icon data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw== // @license MIT // @grant none // @downloadURL none // ==/UserScript== (function() { const $X = { wait: async (milliseconds) => { return new Promise((resolve) => { setTimeout(resolve, milliseconds); }); } }; const query = async () =>{//查询是否存在答题模块 if (document.getElementById('question')) { // 元素存在 console.log('存在答题'); for(var i=1;i<=12;i++){ answer(i) await $X.wait(35000); } clickNextPage(); }else{ console.log("找不到答题模块") } await $X.wait(5000); clickNextPage(); } const clickNextPage = async () =>{//点击下一页 var page = document.querySelector(".gz_sq_an"); var nextPage = page.querySelector("a.next"); if (nextPage) { // 如果找到了下一页按钮 nextPage.click(); // 模拟点击下一页按钮 console.log("进入下页,重新执行答题") setTimeout(query, 10000); } else { console.log("未找到下一页按钮"); alert("没有找到下一页,可能答题结束!") } } const answer = async(count) =>{//答题模块 console.log('第'+count+"次答题"); var formElement = document.querySelector('form[class="questions"]'); if (formElement) { var neiinput = formElement.querySelectorAll('div[class="neiinput"]'); if(count==1){ console.log("强制设置初始化值") save(); await $X.wait(35000); } if (neiinput.length > 0) { for (var i = 0; i < neiinput.length; i++) { var flage = neiinput[i].querySelector('input[class="empty an answerfalse"]') //该题为单选错误 var flage1 = neiinput[i].querySelector('input[class="test an answerfalse"]') //该题为多选错误 var flage2 = neiinput[i].querySelector('input[class="test an answerxz"]') var flage3 = neiinput[i].querySelector('input[class="empty an answerxz"]') if(flage || flage3){ console.log("开始选择单选答案") var tmp switch (count) { case 1: tmp = 'input[type="radio"][value="A"]' break; case 2: tmp = 'input[type="radio"][value="B"]' break; case 3: tmp = 'input[type="radio"][value="C"]' break; case 4: tmp = 'input[type="radio"][value="D"]' break; default: console.log("无效的选择"); tmp =false break; } if(tmp){ neiinput[i].querySelector(tmp).click() } } if(flage1 || flage2){ console.log("开始选择多选选答案") var tmp1 switch (count) { case 1: tmp1 = 'input[type="checkbox"][value="A"]' break; case 2: tmp1 = 'input[type="checkbox"][value="B"]' break; case 3: tmp1 = 'input[type="checkbox"][value="C"]' break; case 4: tmp1 = 'input[type="checkbox"][value="D"]' break; case 5: var tmp51 = 'input[type="checkbox"][value="A"]' var tmp52 = 'input[type="checkbox"][value="B"]' neiinput[i].querySelector(tmp51).click() neiinput[i].querySelector(tmp52).click() break; case 6: var tmp61 = 'input[type="checkbox"][value="A"]' var tmp62 = 'input[type="checkbox"][value="C"]' neiinput[i].querySelector(tmp61).click() neiinput[i].querySelector(tmp62).click() break; case 7: var tmp71 = 'input[type="checkbox"][value="A"]' var tmp72 = 'input[type="checkbox"][value="D"]' neiinput[i].querySelector(tmp71).click() neiinput[i].querySelector(tmp72).click() break; case 8: var tmp81 = 'input[type="checkbox"][value="A"]' var tmp82 = 'input[type="checkbox"][value="B"]' var tmp83 = 'input[type="checkbox"][value="C"]' neiinput[i].querySelector(tmp81).click() neiinput[i].querySelector(tmp82).click() neiinput[i].querySelector(tmp83).click() break; case 9: var tmp91 = 'input[type="checkbox"][value="A"]' var tmp92 = 'input[type="checkbox"][value="B"]' var tmp93 = 'input[type="checkbox"][value="D"]' neiinput[i].querySelector(tmp91).click() neiinput[i].querySelector(tmp92).click() neiinput[i].querySelector(tmp93).click() break; case 10: var tmp101 = 'input[type="checkbox"][value="A"]' var tmp102 = 'input[type="checkbox"][value="C"]' var tmp103 = 'input[type="checkbox"][value="D"]' neiinput[i].querySelector(tmp101).click() neiinput[i].querySelector(tmp102).click() neiinput[i].querySelector(tmp103).click() break; case 11: var tmp111 = 'input[type="checkbox"][value="B"]' var tmp112 = 'input[type="checkbox"][value="C"]' var tmp113 = 'input[type="checkbox"][value="D"]' neiinput[i].querySelector(tmp111).click() neiinput[i].querySelector(tmp112).click() neiinput[i].querySelector(tmp113).click() break; case 12: var tmp121 = 'input[type="checkbox"][value="A"]' var tmp122 = 'input[type="checkbox"][value="B"]' var tmp123 = 'input[type="checkbox"][value="C"]' var tmp124 = 'input[type="checkbox"][value="D"]' neiinput[i].querySelector(tmp121).click() neiinput[i].querySelector(tmp122).click() neiinput[i].querySelector(tmp123).click() neiinput[i].querySelector(tmp124).click() break; default: console.log("无效的选择"); tmp1 =false break; } if(tmp1){ try{ neiinput[i].querySelector(tmp1).click() }catch (error) { console.log(error) } } } } } else { console.log("找不到题目") } console.log('提交答案'); save(); } else { console.log('未找到