網頁自動獲取題目匹配題庫答案填充(原創1.0)
阿新 • • 發佈:2021-01-01
/***歡迎使用
網頁自動獲取題目匹配題庫答案填充(原創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資料處理