您需要先安装一个扩展,例如 篡改猴、Greasemonkey 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 Userscripts ,之后才能安装此脚本。
您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。
您需要先安装用户脚本管理器扩展后才能安装此脚本。
2024/5/8 16:19:32
// ==UserScript== // @name 考试宝添加快捷键 // @namespace Violentmonkey Scripts // @match https://www.kaoshibao.com/online/* // @grant none // @version 1.1 // @author FishNaCl // @description 2024/5/8 16:19:32 // @license MIT // ==/UserScript== document.addEventListener('keydown', function(event) { var xpath = '//*[@id="body"]/div[2]/div[1]/div[2]/div[1]/div/div[1]/div/div[2]'; var options = document.evaluate(xpath, document, null, XPathResult.FIRST_ORDERED_NODE_TYPE, null).singleNodeValue.children; var buttonXpath = '//*[@id="body"]/div[2]/div[1]/div[2]/div[1]/div/div[1]/div/div[3]/button[2]'; var button = document.evaluate(buttonXpath, document, null, XPathResult.FIRST_ORDERED_NODE_TYPE, null).singleNodeValue; var button2Xpath = '//*[@id="body"]/div[2]/div[1]/div[2]/div[1]/div/div[1]/div/div[3]/button[1]' var button2 = document.evaluate(button2Xpath, document, null, XPathResult.FIRST_ORDERED_NODE_TYPE, null).singleNodeValue; var submitBtnXpath = '//*[@id="body"]/div[2]/div[1]/div[2]/div[1]/div/div[1]/div/div[3]/button' var submitBtn = document.evaluate(submitBtnXpath, document, null, XPathResult.FIRST_ORDERED_NODE_TYPE, null).singleNodeValue; let isMuitSelect = () => { var xpath = '//*[@id="body"]/div[2]/div[1]/div[2]/div[1]/div/div[1]/div/div[1]/div/span[1]'; var result = document.evaluate(xpath, document, null, XPathResult.ANY_TYPE, null); var text = result.iterateNext().textContent; return text === '多选题' } switch (event.key) { case 'a': case 'A': options[0].click(); // 点击选项A break; case 's': case 'S': options[1].click(); // 点击选项B break; case 'd': case 'D': options[2].click(); // 点击选项C break; case 'f': case 'F': options[3].click(); // 点击选项D break; case 'g': case 'G': options[4].click(); // 点击选项E break; case 'h': case 'H': options[5].click(); // 点击选项F break; case 'j': case 'J': options[6].click(); // 点击选项G break; case 't': case 'T': submitBtn.click(); // 点击提交答案 break; case ' ': event.preventDefault(); // 阻止空格键的默认行为 if (isMuitSelect()) { var nextXpath = '//*[@id="body"]/div[2]/div[1]/div[2]/div[1]/div/div[1]/div/div[4]/button[2]' var nextBtn = document.evaluate(nextXpath, document, null, XPathResult.FIRST_ORDERED_NODE_TYPE, null).singleNodeValue; nextBtn.click(); break; } button.click(); // 按下空格键点击按钮 break; case 'Shift': if (isMuitSelect()) { var nextXpath = '//*[@id="body"]/div[2]/div[1]/div[2]/div[1]/div/div[1]/div/div[4]/button[1]' var nextBtn = document.evaluate(nextXpath, document, null, XPathResult.FIRST_ORDERED_NODE_TYPE, null).singleNodeValue; nextBtn.click(); break; } button2.click(); break; default: break; } });