1. 程式人生 > 其它 >網頁自動獲取題目匹配題庫答案填充(原創1.0)

網頁自動獲取題目匹配題庫答案填充(原創1.0)

技術標籤:指令碼jshtmlsublime textcss

/***歡迎使用
		網頁自動獲取題目匹配題庫答案填充(原創1.0)**
			1.可手動新增本地題庫,
						一鍵複製,
					無序key自動匹配,
			2.通過除錯可獲取相應div類下的值/元素
			3.遍歷實現多選,可在console中執行
			4.不足指出還請海涵與指點,謝謝
***/
var setting = [];
var minimum = [];
minimum.div = $(
    '<div style="padding: 5px;border: 1px dashed rgb(
0, 85, 68); position: fixed; top: 8px; right: 5px; z-index: 99999; background-color: rgba(184, 247, 255, 0.2); overflow-x: auto;display:block;
"
>
最大化' + '</div>' ).appendTo('body').click(function () { $(setting.div).css('display', 'block'); $(minimum.div).css('display', 'none'); }); var ad = "To learn for happy with our flock"; setting.div = $( '<
div
style="border: 1px dashed rgb(0, 85, 68); width: 330px; position: fixed; top: 8px; right: 5px; z-index: 99999; background-color: rgba(184, 247, 255, 0.9);display:none;">
' + '<span style="font-size: medium;"></span>' + '<div style="display: inline-block;
box-sizing: border-box;top:0;right:0;
"
>
<minimize style="position:absolute;top:5px;right:6px;width:5%;font-size:16px;line-height: 12px;font-weight: bold; cursor:context-menu; user-select:none;"></minimize></div>' + '<div id="cx-notice" style="font-size:18px;color:red;font-family: Times New Roman;text-align: center;height:24px;border-top: 0px solid #000;border-bottom: 1px solid #000;margin: 1px 0px;overflow: hidden;">' + ad + '</div>' + '<input id="timu01" type="text" placeholder="題目答案類" style="width:100px;margin-left: 10px;">' + '<input id="da01" type="text" placeholder="題目答案類" style="width:100px;margin-left: 10px;">' + '<button id="timuda" style="width:25%;margin: 4px 8px;background-color: rgba(184, 247, 255, 0.4);">一鍵獲取' + '</button>' + '<button id="mc" style="height:30px;width:70%;margin: 2px 49px;background-color: rgba(184, 247, 255, 0.4);">複製(手動新增arr)</button>' + '<input id="exam" type="text" placeholder="考試題目類" style="width:245px;margin:3px 40px;">' + '<button id="examing" style="height:30px;width:70%;background-color: rgba(184, 247, 255, 0.4);margin: 2px 49px;">開始答題(選擇)</button>' + '<div id="vi_con" style="width:99%;display: inline-block;OVERFLOW-Y: auto; padding-top: 3px;padding-left: 3px;padding-bottom: 0px;FONT-SIZE: 10pt;OVERFLOW: auto;LINE-HEIGHT: 100%; FONT-FAMILY: 宋體; HEIGHT:93px; TEXT-ALIGN: left;"></div>' + '</div>' ).appendTo('body'); $('minimize').click(function () { $(setting.div).css('display', 'none'); $(minimum.div).css('display', 'block'); }); var err = 0; var arr = { // 題庫需手動新增,格式可藉助IDE,快速排版~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ "審計工作底稿的歸檔期限為審計報告日後的()": "D", "註冊會計師王某明知委託單位公司的財務報表有重大錯報,卻在委託單位的壓力下出具了無保留意見的審計報告行為,王某的行為屬於()": "C", "審計程式的起點是()": "A", "下列選項中,屬於內部證據的是()": "D", "Y公可欠公司100萬貨款,且註冊會計師有理由相信欠款可能存在重大差錯,則註冊會計師對公司的應收賬款應採取的措施是()": "C", "註冊會計師每年審計固定資產時,應該對固定資產進行觀察盤點,重點是()": "A", "企業生產業務開始執行的依據是()": "A", "註冊會計師對企業進行盤點時,發現所有權不屬於被審計單位的存貨,則應當()": "B", "註冊會計師對存貨審計的必要程式是()": "A", " 審計工作底稿歸()": "D" // ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ } var timuda = document.getElementById('timuda'); timuda.addEventListener("click", mfGettimuda, false); function mfGettimuda() { var timu = document.getElementById('timu01').value, da = document.getElementById('da01').value; var items = document.getElementsByClassName(timu).length; if (err == 0) { alert('答案題目不顯示,除錯:\ndocument.getElementsByClassName(timu/da)[0].children[0].innerText.slice(10,-8)'); err += 1; } if (timu.length <= 0) { alert("1號輸入框不能為空"); } else if (da.length <= 0) { alert("2號輸入框不能為空"); } else { for (var i = 0; i <= items; i++) { // 可調式區~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ var gett = document.getElementsByClassName(timu)[i].children[0].innerText.slice(10, -8); var getd = document.getElementsByClassName(da)[i].children[3].innerText.slice(5); // ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ document.getElementById('vi_con').append('"' + gett + '":"' + getd + '",'); } } }; var mc = document.getElementById('mc'); mc.addEventListener("click", mfCopy, false); function mfCopy() { var copyTest = document.getElementById("vi_con").innerText; var inputTest = document.createElement('input'); inputTest.value = copyTest; document.body.appendChild(inputTest); inputTest.select(); document.execCommand("Copy"); inputTest.className = 'oInput'; inputTest.style.display = 'none'; alert('複製成功'); } var examing = document.getElementById('examing'); examing.addEventListener("click", mfExam, false); function mfExam() { var examVa = document.getElementById('exam').value if (examVa.length <= 0) { alert('缺少題目 div class 父類'); } var items = document.getElementsByClassName(examVa).length; for (var i = 0; i <= items; i++) { var item = document.getElementsByClassName(examVa)[i].children[0].innerText.slice(10, -8); var vs = arr[item]; // vs = "ABC" if (vs == null) { alert('arr題庫中沒有,請手動更新' + item); break; } else { var aRlen = vs.length; // 不同條件篩選 實現的方法之一,多選可遍歷選擇答案 for (var j = 0; j <= aRlen; j++) { var getAnRadio = vs[j]; switch (getAnRadio) { case "A": document.getElementsByClassName('test_answer')[i].children[0].click(); break; case "B": document.getElementsByClassName('test_answer')[i].children[2].click(); break; case "C": document.getElementsByClassName('test_answer')[i].children[4].click(); break; case "D": document.getElementsByClassName('test_answer')[i].children[6].click(); break; } } } } }

IDE資料處理
在這裡插入圖片描述