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;
}
});