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