// ==UserScript== // @name sosovalue 半自动点击 // @namespace http://tampermonkey.net/ // @version 1.6 // @description 检测并点击页面中的 5 组按钮,并关闭新弹出的页面 // @author Jack // @match https://sosovalue.com/*/* // @grant none // ==/UserScript== (function() { 'use strict'; const GroupSelectors = [ '#\\:rf\\: > span.transition-opacity.font-medium', '#\\:rh\\: > span.transition-opacity.font-medium', '#\\:ri\\: > span.transition-opacity.font-medium', '#\\:rj\\: > span.transition-opacity.font-medium', '#\\:rk\\: > span.transition-opacity.font-medium', '#\\:rg\\: > span.transition-opacity.font-medium', ]; let newWindow = null; const originalOpen = window.open; window.open = function(url, name, features) { newWindow = originalOpen(url, name, features); return newWindow; }; function clickButtonGroup(group, delay, closeWindow = false, callback) { let completed = 0; group.forEach((selector, index) => { setTimeout(() => { const button = document.querySelector(selector); if (button) { button.click(); if (closeWindow && newWindow) { newWindow.close(); } } completed++; if (completed === group.length && callback) { callback(); } }, index * delay); }); } function createCustomButtons() { const executeButton = document.createElement('button'); executeButton.textContent = '执行'; executeButton.style.position = 'fixed'; executeButton.style.top = '20px'; executeButton.style.left = '50%'; executeButton.style.padding = '10px 20px'; executeButton.style.backgroundColor = '#007bff'; executeButton.style.color = '#fff'; executeButton.style.border = 'none'; executeButton.style.borderRadius = '5px'; executeButton.style.cursor = 'pointer'; executeButton.style.zIndex = '10000'; executeButton.addEventListener('click', () => { clickButtonGroup(GroupSelectors, 1000, true, () => { // 所有按钮点击完成后,等待1秒刷新页面 setTimeout(() => { location.reload(); }, 1000); }); }); document.body.appendChild(executeButton); } window.addEventListener('load', createCustomButtons); setInterval(() => { if (newWindow && !newWindow.closed) { newWindow.close(); } }, 1000); })();