您需要先安装一个扩展,例如 篡改猴、Greasemonkey 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 Userscripts ,之后才能安装此脚本。
您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。
您需要先安装用户脚本管理器扩展后才能安装此脚本。
自动从题目中提取答案文本并选择匹配选项
// ==UserScript== // @name 百度在线答题自动选择器 // @namespace http://tampermonkey.net/ // @version 2025-06-15 // @description 自动从题目中提取答案文本并选择匹配选项 // @author tony // @match https://www.baidu.com/s?*question_store_id=* // @icon https://www.baidu.com/favicon.ico // @grant none // @license MIT // ==/UserScript== (function() { 'use strict'; // 主执行函数 function autoSelectAnswer() { // 搜索区 const questionElement = document.querySelector('p.marklang-paragraph'); if ( !questionElement ) { console.log('未找到题目元素'); return; } let answerText = questionElement.textContent.trim().split('答案:'); if ( answerText.length < 2 ) { console.log('未找到题目答案'); return; } answerText = answerText[1].trim(); console.log('提取的答案文本:', answerText); let questionText = questionElement.textContent.trim().split('\n')[0].split('题目:') if ( questionText.length < 2 ) { console.log('搜索区未找到题干'); return; } questionText = questionText[1].trim().replace(/<[^>]+>/g, ''); console.log('搜索区提取的题干内容:', questionText); // 答题区 const continueButton = document.querySelector('button[class^="continueButton_"]'); if ( continueButton ) { continueButton.click(); return; } let questionBody = document.querySelector('div[class^="questionContent_"]'); if ( !questionBody ) { console.log('答题区未找到题干'); return; } questionBody = questionBody.querySelector('div[class^="questionContent_"]'); if ( !questionBody ) { console.log('答题区未找到题目标题'); return; } if ( !questionBody.textContent.trim().startsWith(questionText) ) { console.log('答题区和搜索区标题不一致,请手工完成该题'); return; } // 查找所有选项 const options = document.querySelectorAll('div[class^="optionItem_"]'); if (options.length === 0) { console.log('未找到选项元素'); return; } // 遍历选项寻找匹配项 let foundMatch = false; options.forEach(option => { // if (option.textContent.trim().includes(answerText)) { if ( option.textContent.trim() === answerText ) { option.click(); console.log('已选择匹配选项:', option.textContent.trim()); foundMatch = true; } }); if (!foundMatch) { console.log('未找到包含答案文本的选项'); } } // 延迟执行以确保DOM加载完成 setInterval(autoSelectAnswer, 2000); // setTimeout(autoSelectAnswer, 2000); })();