| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485 |
- // ==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 button = document.createElement("button");
- button.textContent = "执行";
- button.style.position = "fixed";
- button.style.top = "10%";
- button.style.left = "2%";
- button.style.transform = "translateY(-50%)";
- button.style.padding = "3px 8px";
- button.style.fontSize = "10px";
- button.style.backgroundColor = "#007baf";
- button.style.color = "#fff";
- button.style.border = "none";
- button.style.borderRadius = "5px";
- button.style.cursor = "pointer";
- button.style.zIndex = "10000";
- button.addEventListener("click", () => {
- clickButtonGroup(GroupSelectors, 1000, true, () => {
- // 所有按钮点击完成后,等待1秒刷新页面
- setTimeout(() => {
- location.reload();
- }, 1000);
- });
- });
- document.body.appendChild(button);
- }
- window.addEventListener("load", createCustomButtons);
- setInterval(() => {
- if (newWindow && !newWindow.closed) {
- newWindow.close();
- }
- }, 1000);
- })();
|