说明
仅供学习交流
法宣在线考试, 自动获取答案, 完成考试.
使用方法
- 使用chrome浏览器登录法宣在线, 进入考试页面;
- 单击浏览器的地址栏, 按快捷键F12; 或者使用菜单: 更多工具 - 开发者工具;
- 定位到console/控制台面板, 粘贴代码, 回车;
- 程序开始执行, 每秒答一道题, 等待答题完成;
代码
var answer = [];
var times = 0;
var totalTimes = 0;
var Next = function () {
var questionId = answer[times]['questionId']
console.log("questionId", questionId)
$(`[id$=_${questionId}]`).click();
setTimeout(
function () {
var strAns = answer[times]['answerNo'];
var arrA = strAns.split('');
for (a of arrA) {
console.debug(a);
$('input[value=' + a + ']').click()
}
times += 1;
if (times < totalTimes) {
Next();
}
else {
console.debug('完成');
}
}, 1000);
};
var start = function () {
console.debug('开始');
let cookie = document.cookie;
let matchArray = cookie.match(/_EXAM(\d+)_PAPER(\d+)_SERIES(\d+)/);
let examId = matchArray[1];
let paperId = matchArray[2];
let seriesId = matchArray[3];
let answerUrl = `http://www.faxuanyun.com//ess/service/getpaper?paperId=${paperId}&series=${seriesId}_answer`
fetch(answerUrl, {
"headers": {
"cache-control": "no-cache",
"pragma": "no-cache",
"upgrade-insecure-requests": "1"
},
"referrerPolicy": "strict-origin-when-cross-origin",
"body": null,
"method": "GET",
"mode": "cors",
"credentials": "include"
}).then(res => res.text()).then(body => {
console.debug("test", body);
let answerString = body.split("\n")[2];
answer = JSON.parse(answerString);
totalTimes = answer.length;
Next();
});
}
start();
原理
这个地址可以获取到考试的答案: http://xf.faxuan.net/ess/service/getpaper?paperId=${paperId}&series=${seriesId}_answer