"code": "function extractExamContentWithNumbers() {\n const examContents = document.querySelectorAll('.exam-content');\n let allText = '';\n const totalQuestions = examContents.length;\n\n examContents.forEach((content, index) => {\n const questionNumber = index + 1;\n let questionType = '';\n\n // 根据题目总数确定题型分配规则\n if (totalQuestions === 24) {\n // 24题模式:5道判断+10道单选+9道多选\n if (questionNumber >= 1 && questionNumber <= 5) {\n questionType = '判断题';\n } else if (questionNumber >= 6 && questionNumber <= 15) {\n questionType = '单选题';\n } else if (questionNumber >= 16 && questionNumber <= 24) {\n questionType = '多选题';\n }\n } else if (totalQuestions === 50) {\n // 50题模式:15道判断+20道单选+15道多选\n if (questionNumber >= 1 && questionNumber <= 15) {\n questionType = '判断题';\n } else if (questionNumber >= 16 && questionNumber <= 35) {\n questionType = '单选题';\n } else if (questionNumber >= 36 && questionNumber <= 50) {\n questionType = '多选题';\n }\n } else {\n // 其他情况,尝试根据选项类型自动判断\n const radioGroup = content.querySelector('.el-radio-group');\n const checkboxGroup = content.querySelector('.el-checkbox-group');\n \n if (radioGroup) {\n questionType = '单选题';\n } else if (checkboxGroup) {\n questionType = '多选题';\n } else {\n questionType = '判断题';\n }\n }\n\n // 添加题序标题\n const titleText = `${questionNumber}/${totalQuestions} Q ${questionType}`;\n\n // 提取问题文本\n const questionElement = content.querySelector('.the-exam-page-html');\n const questionText = questionElement ? questionElement.innerText.trim() : '';\n\n // 提取选项\n const optionsText = extractOptions(content);\n\n // 组合完整文本\n if (questionText || optionsText) {\n allText += titleText + '\\n';\n if (questionText) {\n allText += questionText + '\\n';\n }\n if (optionsText) {\n allText += optionsText + '\\n';\n }\n allText += '\\n'; // 题目间空行\n }\n });\n\n return allText;\n}\n\nfunction extractOptions(content) {\n let options = [];\n\n // 检查单选题选项\n const radioGroup = content.querySelector('.el-radio-group');\n if (radioGroup) {\n const radioOptions = radioGroup.querySelectorAll('.el-radio');\n radioOptions.forEach(radio => {\n const text = radio.innerText.trim();\n if (text) {\n options.push(text);\n }\n });\n }\n\n // 检查多选题选项\n const checkboxGroup = content.querySelector('.el-checkbox-group');\n if (checkboxGroup) {\n const checkboxOptions = checkboxGroup.querySelectorAll('.el-checkbox');\n checkboxOptions.forEach(checkbox => {\n const text = checkbox.innerText.trim();\n if (text) {\n options.push(text);\n }\n });\n }\n\n return options.join('\\n');\n}\n\n// 使用示例\nconst result = extractExamContentWithNumbers();\nconsole.log(result);\nconst askai = '接下来我在做微认证考试,时间有限,有判断题,单选题和多选题。你需要快速给我答案,减少废话,不需要给过多的解释,直接快速给到答案即可。以下这些题你拿去认真思考,最后给到我每一个题的答案,你的回答应该每一行文本前面带题号,后面是答案,一题占一行文本。多选题多个答案用|隔开。以下是问题和选项:\\n';\ncopyWithGreasemonkey(askai + result);"
0 commit comments