您需要先安装一个扩展,例如 篡改猴、Greasemonkey 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 Userscripts ,之后才能安装此脚本。
您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。
您需要先安装用户脚本管理器扩展后才能安装此脚本。
hdu pinnacle刷题网站的优化脚本。
当前为
// ==UserScript== // @name Pinnacle Optimize // @namespace http://tampermonkey.net/ // @version 0.3 // @description hdu pinnacle刷题网站的优化脚本。 // @author Lycoiref // @match *://pinnacle-primary-fe.mjclouds.com/* // @icon https://www.google.com/s2/favicons?sz=64&domain=mjclouds.com // @license MIT // @grant none // ==/UserScript== (function () { 'use strict' // Your code here... // hdu pinnacle刷题网站优化脚本 window.onload = async () => { await new Promise((resolve) => { setTimeout(resolve, 100) }) while (!document.querySelector('.items-center') || !document.querySelector('button') || !document.querySelector('.whitespace-pre-line')) { await new Promise((resolve) => { setTimeout(resolve, 100) }) } let options = document.querySelectorAll('.items-center') let btns = document.querySelectorAll('button') let question = document.querySelector('.whitespace-pre-line') setInterval(() => { let cards = document.querySelectorAll('p') cards.forEach((card) => { if (card.innerText === '题库市场') { window.location.reload() } }) }, 100) window.addEventListener('keypress', (e) => { // QWER分别对应1234个选项 switch (e.key) { case 'q': options[0].click() break case 'w': options[1].click() break case 'e': options[2].click() break case 'r': options[3].click() break } // 空格键对应下一题 if (e.key === ' ') { console.log(btns) if (btns[1]?.attributes['disabled']) { btns[2].click() // 清除focus document.activeElement.blur() } else { btns.forEach((btn) => { if (btn.innerText === '提交' || btn.innerText === '下一题') { btn.click() // 清除focus document.activeElement.blur() } }) } } }) // 创建对question的观察进程 let observerOptions = { childList: true, subtree: true, attributes: true, // 监听innerHTML的变化 characterData: true } let observer = new MutationObserver((mutations) => { console.log('question changed') options = document.querySelectorAll('.items-center') }) observer.observe(question, observerOptions) } })()