NEWS DETAIL

优学院如何将错题全整理到一起

发布时间:2026/10/24 23:24:31 · 栏目:资讯中心

尧图网络原创建站知识分享正文
期末周到了思政课的题库又来啦。一页一道地刷不说错题还不能提取出来非常的麻烦。其实可以选择不做直接提交这样所有全是错题。好了抱怨完毕开始进入正题——如何将所有错题提取出来整理成文档。首先打开电脑搜索优学院登入官网。这里其实就能看到所有题目比手机上一页一道题方便太多对比一下然后打开网页控制台右上角三个点-》更多工具-》开发者工具 or 直接f12接着看代码先了解后应用附有完整代码控制台点击左上角的那个图标获取需要的元素的类名。var allQuestions document.querySelectorAll(.base-question); //获取所有的题目 var wrongQuestions [];//设置应该错题空数组allQuestions.forEach(function(q) { // 在该容器内查找是否有 “回答错误”那个提示也就是classresult-text wrong 的元素 var wrongSpan q.querySelector(.result-text.wrong); if (wrongSpan) { // 如果是错题将该容器加入数组 wrongQuestions.push(q); }获取错题内容题干、选项、考生答案、正确答案等var result ;//设置result对象 wrongQuestions.forEach(function(q, index) {//遍历错题 var content cloneWithText.innerText.trim(); result 错题 (index 1) \n;//这个是为了美观不可不要 result content \n;//可以\n\n换两行视觉分隔开更加美观 });自动复制错题try { var textarea document.createElement(textarea);\\创建textarea 标签因为 textarea.value result;\\获取内容 textarea.style.position fixed; textarea.style.left -9999px; 移到屏幕隐藏为了美观 document.body.appendChild(textarea);挂载 textarea.select();\\选取textarea里的所有内容 懒得切换输入法了就没打\\了 var success document.execCommand(copy);复制这是浏览器内置复制指令 document.body.removeChild(textarea);复制完删掉避免页面残留多余 DOM 节点、内存占用 } catch (e) { alert(成功提取 wrongQuestions.length 道错题);如果有什么安全策略拦截什么的提示已经复制了多少题 }其实前面三步就已经成了但是遇到判断题答案是√、×就无法显示答案将图表转换为文字判断function replaceIconsWithText(container) { // 克隆容器避免修改原DOM var clone container.cloneNode(true); // 查找所有图标元素得实际情况调整选择器,按照第一步查看元素 var icons clone.querySelectorAll(i.iconfont); icons.forEach(function(icon) { var classes icon.className || ; var text ; // 根据类名判断是正确还是错误 if (classes.includes(zhengque)) { text 正确; } else if (classes.includes(cuowu)) { text 错误; }5.这回前四步真的成了如果有细看前几步骤代码的注释的可以发现有个词出现了多次——“美观”。为了让排版美观可以var choicesContainers clone.querySelectorAll(.choices); 副本避免修改原dom choicesContainers.forEach(function(choices) { var prevBr document.createTextNode(\n);在选项组整体前面插入换行使题干和选项分开 choices.parentNode.insertBefore(prevBr, choices); 在选项组整体后面插入换行 var nextBr document.createTextNode(\n); if (choices.nextSibling) { choices.parentNode.insertBefore(nextBr, choices.nextSibling); 后面还有选项插入后面选项前 } else { choices.parentNode.appendChild(nextBr); 没有插入末尾 } 在每个选项内部后面插入换行 var optionItems choices.children; for (var i optionItems.length - 1; i 0; i--) { var item optionItems[i]; var br document.createTextNode(\n); if (item.nextSibling) { choices.insertBefore(br, item.nextSibling); } else { choices.appendChild(br); } } });欧克欧克下面是总的代码是ai修改过后更加的严谨适配大多数情况(function() { // 1. 获取所有题目容器 var allQuestions document.querySelectorAll(.base-question); var wrongQuestions []; // 2. 筛选错题 allQuestions.forEach(function(q) { if (q.querySelector(.result-text.wrong)) { wrongQuestions.push(q); } }); if (wrongQuestions.length 0) { alert(当前页面没有找到错题请确认是否在练习结果页面且所有题目已加载。); return; } // 3. 辅助函数将图标转换为文字并为选项区域前后及每个选项添加换行 function replaceIconsWithText(container) { // 克隆容器避免修改原DOM var clone container.cloneNode(true); // --- 步骤1替换图标为文字 --- var icons clone.querySelectorAll(i.iconfont, i[class*icon], span.iconfont); icons.forEach(function(icon) { var classes icon.className || ; var text ; if (classes.includes(zhengque) || classes.includes(dui) || classes.includes(correct)) { text 正确; } else if (classes.includes(cuowu) || classes.includes(cuo) || classes.includes(cha) || classes.includes(wrong) || classes.includes(incorrect)) { text 错误; } else { text ?; } var textNode document.createTextNode(text); icon.parentNode.replaceChild(textNode, icon); }); // --- 步骤2处理选项区域使其前后及内部都换行 --- var choicesContainers clone.querySelectorAll(.choices, .ul-radio-group); choicesContainers.forEach(function(choices) { // 2.1 在选项组整体前面插入换行使题干和选项分开 var prevBr document.createTextNode(\n); choices.parentNode.insertBefore(prevBr, choices); // 2.2 在选项组整体后面插入换行使选项和后面的答案分开 var nextBr document.createTextNode(\n); if (choices.nextSibling) { choices.parentNode.insertBefore(nextBr, choices.nextSibling); } else { choices.parentNode.appendChild(nextBr); } // 2.3 在每个选项内部后面插入换行使选项彼此分行 var optionItems choices.children; // 直接子元素每个选项 for (var i optionItems.length - 1; i 0; i--) { var item optionItems[i]; var br document.createTextNode(\n); if (item.nextSibling) { choices.insertBefore(br, item.nextSibling); } else { choices.appendChild(br); } } }); return clone; } // 4. 提取每个错题的文本带图标转换和完整的换行 var result ; wrongQuestions.forEach(function(q, index) { var cloneWithText replaceIconsWithText(q); var content cloneWithText.innerText.trim(); result 错题 (index 1) \n; result content \n\n; }); // 5. 输出和复制 console.log( 提取到的所有错题完整换行 \n result); try { var textarea document.createElement(textarea); textarea.value result; textarea.style.position fixed; textarea.style.left -9999px; document.body.appendChild(textarea); textarea.select(); var success document.execCommand(copy); document.body.removeChild(textarea); if (success) { alert(成功提取 wrongQuestions.length 道错题\n内容已自动复制题干、选项、答案均已换行。); } else { alert(成功提取 wrongQuestions.length 道错题\n但自动复制失败请手动从控制台复制。); } } catch (e) { alert(成功提取 wrongQuestions.length 道错题\n请手动从控制台复制输出。); } })();希望能对你有帮助。同时感谢D老师和豆老师悉心指导。
✦

本文为尧图网络原创建站知识分享。想针对自身行业获取定制化建站方案?欢迎咨询,资深顾问免费为你出思路。

RELATED

相关 资讯推荐

MORE

更多 新鲜资讯

JMeter入门实战:从零构建HTTP接口性能测试脚本与结果分析
2026/10/21 11:24:40

JMeter入门实战:从零构建HTTP接口性能测试脚本与结果分析

1. 项目概述:从零开始,用JMeter搞定HTTP性能测试 刚接触性能测试的新手,或者是从功能测试转过来的朋友,一听到“压测”两个字,心里可能就有点发怵。工具那么多,概念那么杂,从哪儿下手呢&#xf…

Earendel: 一个纯TS写的POSIX兼容的微内核Web操作系统
2026/10/24 20:39:51

Earendel: 一个纯TS写的POSIX兼容的微内核Web操作系统

最近我用TypeScript写了一个运行在浏览器里的Web操作系统 Earendel(目前已知的距离地球最遥远的恒星)。开发它的初衷主要是为了Linux和操作系统课程的教学。市面上绝大多数Web OS项目,要么只是做了一个长得像Windows/macOS的网页UI拼盘&#…

5分钟掌握Windows防撤回神器:让微信QQ撤回消息无处遁形[特殊字符]
2026/10/19 6:46:54

5分钟掌握Windows防撤回神器:让微信QQ撤回消息无处遁形[特殊字符]

5分钟掌握Windows防撤回神器:让微信QQ撤回消息无处遁形🚀 【免费下载链接】RevokeMsgPatcher :trollface: A hex editor for WeChat/QQ/TIM - PC版微信/QQ/TIM防撤回补丁(我已经看到了,撤回也没用了) 项目地址: http…

从零制作同人动画:技术路线、流程与实战避坑指南
2026/10/24 7:09:28

从零制作同人动画:技术路线、流程与实战避坑指南

1. 先搞清楚这个“粉丝动画”到底是什么,以及它能解决什么问题看到“五条悟VS宿傩/咒术回战粉丝动画”这个标题,很多人的第一反应可能是去找一个现成的视频。但如果你是一个想自己动手创作、或者想了解这类作品背后技术流程的创作者,这个标题…

闭源降价80%,开源却在涨价:AI定价的交叉路口
2026/10/24 22:16:44

闭源降价80%,开源却在涨价:AI定价的交叉路口

8月6日,两条价格曲线悄然交汇。 一条向下:OpenAI把GPT-5.6 Luna的输出价格从6美元砍到1.2美元/百万Token,降幅80%。另一条向上:同一天,DeepSeek公告全线涨价,措辞是"涨幅较大",非试探…

产线三防平板选哪个牌子?5个品牌实测告诉你别瞎买
2026/10/23 10:16:26

产线三防平板选哪个牌子?5个品牌实测告诉你别瞎买

产线三防平板选哪个牌子?5个品牌实测告诉你别瞎买经常有工厂朋友拿着网上的"三防平板十大品牌排行榜"来问我:到底选哪个?说实话排行榜看看就行,真正选型得看你产线什么场景。今天挑五个在产线数字化里用得比较多的品牌—…

看完这篇,还想了解更多?

预约尧图网络顾问一对一沟通,针对你的行业与现状给出建站建议,全程免费。

免费咨询