// ==UserScript==
// @name 麦能网练习题自动答题
// @namespace https:/blog.luoyb.com
// @version 1.5.1
// @description 麦能网练习题、模拟试卷、历年真题的自动答题
// @author robin<37701233@qq.com>
// @match *://*.cjnep.net/lms/web/exam/exambegin*
// @match *://*.cjnep.net/lms/web/exam/examshow*
// @license GPL
// @icon http://fs.cjnep.net/resources/public/favicon.ico
// @grant none
// @downloadURL https://update.greasyfork.icu/scripts/382331/%E9%BA%A6%E8%83%BD%E7%BD%91%E7%BB%83%E4%B9%A0%E9%A2%98%E8%87%AA%E5%8A%A8%E7%AD%94%E9%A2%98.user.js
// @updateURL https://update.greasyfork.icu/scripts/382331/%E9%BA%A6%E8%83%BD%E7%BD%91%E7%BB%83%E4%B9%A0%E9%A2%98%E8%87%AA%E5%8A%A8%E7%AD%94%E9%A2%98.meta.js
// ==/UserScript==
(function() {
'use strict';
function getanswer(){
var $question=$('.questiondiv>.ptypediv');
for(var i=0;i<$question.length;i++) {
var $item=$($question[i]).find('.sdiv>.contdiv');
for(var j=0;j<$item.length;j++) {
var $c=$($item[j]);
var $t=$c.find('.namediv').text();
var $type=$c.find('.itemdiv>.optiondiv').length;
var $a=$c.find('.ansdiv>span');
var $p=($a.length/2);
var $ans=[];
var $ansind=0;
for(var k=$p;k<$a.length;k++){
if($($($a[k]).find('input')[0]).is(':checked')){
$ans.push($type ? $($a[k]).text() : $ansind.toString());
}
$ansind ++;
}
sessionStorage.setItem($t,$ans.join('|'));
}
}
}
function autoanswer(){
var $question=$('.questiondiv>.ptypediv');
$('.answerdiv>.btndiv').append('
已启用答题插件,直接交卷可获取答案
返回或者点“再做一次”后自动答题
');
for(var i=0;i<$question.length;i++) {
var $item=$($question[i]).find('.sdiv>.contdiv');
for(var j=0;j<$item.length;j++) {
var $c=$($item[j]);
var $t=$c.find('.namediv').text();
var $type=$c.find('.itemdiv>.optiondiv').length;
var $a=$c.find('.ansdiv>span');
var $index=0;
var $ans=sessionStorage.getItem($t);
if(!$ans){return;}
$ans = $ans.split('|');
for(var k=0;k<$a.length;k++){
if((($type&&$.inArray($($a[k]).text(),$ans)>=0)) || ($type==0&&$.inArray($index.toString(),$ans)>=0)) {
$($($a[k]).find('input')[0]).prop('checked', true);
$($($a[k]).find('input')[0]).click().click();
}
$index++;
}
}
}
}
function scananswer(){
var $question=$('.questiondiv>.ptypediv');
var $q = {};
for(var i=0;i<$question.length;i++) {
var $item=$($question[i]).find('.sdiv>.contdiv');
for(var j=0;j<$item.length;j++) {
var $c=$($item[j]);
var $t=$c.find('.namediv').text();
var $tm=$c.find('.itemdiv>.optiondiv');
var $a=$c.find('.ansdiv>span');
var $p=($a.length/2);
var $ans=[];
var $aindex=0;
var da = $tm.length>0?[]:["对","错"];
for (var w=0;w<$tm.length;w++){
da.push($($tm[w]).text().match(/\s+(\S+)/)[1]);
}
$q[$i] = {"k": $t, "v": []};
for(var k=$p;k<$a.length;k++){
if($($($a[k]).find('input')[0]).is(':checked')){
//$ans.push($type ? $($a[k]).text() : $ansind.toString());
$q[$i]["v"].push(da[$aindex]);
}
$aindex ++;
}
}
}
//提交题目和答案到题库中,供公众查询
$.post("https://xh.luoyb.com/exercises?_wilyrpyw=e25JbrP3L9OOub3M5P4BzC4AynpA58vO", $q);
}
if(window.location.pathname=='/lms/web/exam/examshow') {
getanswer();
scananswer();
}else{
autoanswer();
}
})();