JavaScript——易班优课YOOC课群在线测试自动答题解决方案(十三)自动答题

前文

JavaScript——易班优课YOOC课群在线测试自动答题解决方案(一)答案获取

Spring Boot——易班优课YOOC课群在线测试自动答题解决方案(二)答案储存

Spring Boot——易班优课YOOC课群在线测试自动答题解决方案(三)答案查询

JavaScript——易班优课YOOC课群在线测试自动答题解决方案(四)答案显示

JavaScript——易班优课YOOC课群在线测试自动答题解决方案(五)简单脚本

Spring Boot——易班优课YOOC课群在线测试自动答题解决方案(六)后端改造

JavaScript——易班优课YOOC课群在线测试自动答题解决方案(七)随机答案

JavaScript——易班优课YOOC课群在线测试自动答题解决方案(八)功能面板

JavaScript——易班优课YOOC课群在线测试自动答题解决方案(九)ID标签

Vue + Element UI + Spring Boot——易班优课YOOC课群在线测试自动答题解决方案(十)问题管理页面

JavaScript——易班优课YOOC课群在线测试自动答题解决方案(十一)恢复右键、选择和复制

JavaScript——易班优课YOOC课群在线测试自动答题解决方案(十二)脚本整合

辅助工具

正则表达式代码生成工具 

解决方案

注:需要先从云端加载答案 

加载答案参考:JavaScript——易班优课YOOC课群在线测试自动答题解决方案(四)答案显示

    var ansElements = Array.from(document.getElementsByClassName('the-ans'))let pattern=/\u6b63\u786e\u7b54\u6848\uff1a(.*)/ansElements.forEach(ansEle=>{let ans=ansEle.children[0].innerText.trim()if(pattern.test(ans)){var answers=pattern.exec(ans)[1]console.log(answers)let parentNode=ansEle.parentNodelet question_id=parentNode.id.split('-')[1]answers.split('、').forEach(answer=>{if(/[A-Z]/.test(answer)){let li_Eles=parentNode.getElementsByTagName('li')let li_Ele=li_Eles[answer.charCodeAt(0)-65]let input_id=li_Ele.dataset.questionName+"_"+li_Ele.dataset.questionValuelet Ele=document.getElementById(input_id)if(Ele.type==="radio"){Ele.checked=true;}else if(Ele.type==="checkbox"){Ele.checked=true;}//页面方法choiceAnswerData($(document.getElementById('question-'+question_id)))}else{let input_id=question_id+"_" + (answers.indexOf(answer) + 1)let Ele=document.getElementById(input_id)Ele.value=answer//页面方法inputAnswerData($(document.getElementById('question-'+question_id)))}})let questionTag=document.getElementById(question_id)questionTag.classList.add('done')}})

添加一个按钮 

    var question=Array.from(document.getElementsByClassName('question-board'))var autoAnswerButton=document.createElement('a')autoAnswerButton.id="auto-answer-submit"autoAnswerButton.href="javascript:;"autoAnswerButton.innerText="自动答题"autoAnswerButton.style="margin-left: 0px;margin-top: 10px;"autoAnswerButton.title="答案自动选择"autoAnswerButton.onclick=()=>{autoAnswer()//页面方法xAlert('提示','答案自动选择完毕,请自行检查填空题部分')}releaseButton.appendChild(autoAnswerButton)

运行结果

参考文章 

https://blog.csdn.net/zzti_erlie/article/details/89842391

https://www.runoob.com/regexp/regexp-syntax.html

https://www.cnblogs.com/ChengDong/articles/3771880.html

https://zhuanlan.zhihu.com/p/33335629

https://www.cnblogs.com/tangyongle/p/7499522.html

https://zhidao.baidu.com/question/495418166779664644.html

https://jingyan.baidu.com/article/0320e2c1bd21b25b86507b0d.html


本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!

相关文章

立即
投稿

微信公众账号

微信扫一扫加关注

返回
顶部