您需要先安装一个扩展,例如 篡改猴、Greasemonkey 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 Userscripts ,之后才能安装此脚本。
您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。
您需要先安装用户脚本管理器扩展后才能安装此脚本。
派蒙的十万个为什么,自动搜答案
当前为
// ==UserScript== // @name 派蒙答题器 // @namespace http://tampermonkey.net/ // @version 0.2 // @description 派蒙的十万个为什么,自动搜答案 // @author You // @match https://webstatic.mihoyo.com/* // @grant GM_xmlhttpRequest // @license MIT // ==/UserScript== (function () { 'use strict'; GM_xmlhttpRequest({ method: 'GET', url: 'https://wiki.biligame.com/ys/%E3%80%8C%E6%B4%BE%E8%92%99%E7%9A%84%E5%8D%81%E4%B8%87%E4%B8%AA%E4%B8%BA%E4%BB%80%E4%B9%88%E3%80%8D%E9%A2%98%E5%BA%93', onload(res) { var parser = new DOMParser(); var dom = parser.parseFromString(res.response, "text/html"); const check = () => { var quesElem = document.querySelector('[class|="components-game-assets-qa-info___text"]'); var ques = quesElem && quesElem.textContent.slice(0, -1) dom.querySelectorAll('.wikitable tbody tr').forEach(elem => { if (elem.children[0].textContent.indexOf(ques) > -1) { var ans = elem.children[1].textContent quesElem.textContent += ` - ${ans}` } }) } checkNodeMounted('[class|="components-game-assets-qa___qa-page"]').then(elem => { const observer = new MutationObserver(function (mutationList, observer) { check() }) observer.observe(elem, { childList: true, subtree: true }) }) check() } }) /** * 检查Node是否被挂载 * @param {String} selector 要检查Node的selector * @param {Node} container 执行检查的容器,默认为body,建议设置父节点以提高检查效率 */ function checkNodeMounted(selector, container = document.body) { // TODO: 为什么设置container后触发更多次? const $ = document.querySelectorAll.bind(document) return new Promise((resolve, reject) => { if (typeof selector !== 'string' || !(container instanceof Node)) { reject(new Error('Invalid param')) } else { const target = $(selector) if (target.length) { resolve(target) } else { const observer = new MutationObserver(function (mutationList, observer) { const target = $(selector) if (target.length) { observer.disconnect() resolve(target) } else { console.log(`waiting for $('${selector}') to mount`) } }) observer.observe(container, { childList: true, subtree: true }) } } }) } /** * shortcut for document.querySelectorAll * @param {String} selector */ function $(selector) { return document.querySelectorAll.bind(document) } })();
QingJ © 2025
镜像随时可能失效,请加Q群300939539或关注我们的公众号极客氢云获取最新地址