您需要先安装一个扩展,例如 篡改猴、Greasemonkey 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 Userscripts ,之后才能安装此脚本。
您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。
您需要先安装用户脚本管理器扩展后才能安装此脚本。
自动点开敏感内容, 带黑名单的强大功能
// ==UserScript== // @license MIT // @name baraag_Auto_click_filter // @namespace http://tampermonkey.net/ // @version 20240727 // @description 自动点开敏感内容, 带黑名单的强大功能 // @author You // @match https://*.baraag.net/* // @icon https://www.google.com/s2/favicons?sz=64&domain=baraag.net // @grant GM_setValue // @grant GM_getValue // @grant GM_registerMenuCommand // @grant GM_unregisterMenuCommand // ==/UserScript== function $Q(selector) { let ele = document.querySelector(selector); if (ele == null) { return { style: {}, remove() {} }; } else { return ele; } } function $QALL(query) { return document.querySelectorAll(query); } const sleep = (delay) => new Promise((resolve) => setTimeout(resolve, delay)) // 定义一个函数来执行点击事件 function simulateClick() { // 选择所有类名为spoiler-button__overlay的元素 let spoilerButtons = Array.from($QALL('.spoiler-button__overlay')); // 循环遍历每个元素并触发点击事件 spoilerButtons.forEach(async function(button) { if (!button.classList.contains("over")) { button.click(); // 触发点击事件 button.classList.add("over"); await sleep(500); } }); // 获取初始元素 let elements = Array.from($QALL(".display-name__account")); let filters = GM_getValue(filters_name) ?? []; console.log(filters); elements.forEach( function(element){ // 判断是否在黑名单中 if (filters.indexOf(element.innerText) > -1 ) { // 向上遍历直到找到 <article> 元素 while (element !== null && element.tagName !== "ARTICLE") { element = element.parentNode; } // 如果找到了 <article> 元素,则删除它 if (element !== null && element.tagName === "ARTICLE") { //element.remove(); element.style.visibility = "hidden"; } } // if (ele......) }); // foreach } let add_name = "添加黑名单"; let remove_name = "移除黑名单"; let check_name = "检查"; let filters_name = "filters"; let id_add=GM_registerMenuCommand (add_name ,AddFilter); let id_remove=GM_registerMenuCommand (remove_name,RemoveFilter); let id_check=GM_registerMenuCommand (check_name,CheckFilter); function AddFilter(){ let filter = prompt("请输入黑名单, 如@TheDispenser69"); let arr = GM_getValue(filters_name); if (Array.isArray(arr)) { // 如果是数组,在末尾插入元素filter arr.push(filter); } else { // 如果不是数组,将其变为空数组,再插入元素1 arr = []; arr.push(filter); } GM_setValue(filters_name,arr) } function RemoveFilter(){ let filter = prompt("请输出要移除的黑名单, 如@TheDispenser69"); let arr = GM_getValue(filters_name); if (Array.isArray(arr)) { // 如果是数组,删除元素 arr = arr.filter(item => item !== filter); } else { // 如果不是数组,将其变为空数组 arr = []; } GM_setValue(filters_name,arr) } function CheckFilter(){ let arr = GM_getValue(filters_name); if (!Array.isArray(arr)) { // 如果不是数组,将其变为空数组 arr = []; } alert(arr); GM_setValue(filters_name,arr) } (function() { 'use strict'; // Your code here... setInterval(function () { simulateClick() }, 700); })();