You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
85 lines
2.5 KiB
85 lines
2.5 KiB
// ==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);
|
|
})();
|
|
|