| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283 |
- // ==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);
- })();
|