Auto
// ==UserScript==
// @version 1.0.1
// @name 自动点击
// @namespace https://aic.oceanengine.com/
// @include https://aic.oceanengine.com/*
// @description Auto
// @author You
// @match https://aic.oceanengine.com/tools/commodity_card?bpId=1802895905078362
// @icon https://www.google.com/s2/favicons?sz=64&domain=oceanengine.com
// @license MIT
// @grant none
// ==/UserScript==
(function() {
'use strict';
let isExecuting = false;
let shouldStop = false;
let continueIntervalId;
function checkAndClickGenerateButton() {
if (isExecuting || shouldStop) {
return;
}
const span = Array.from(document.querySelectorAll('span')).find(el => el.textContent.trim() === '立即生成');
if (span) {
const button = span.parentElement;
if (button) {
button.click();
console.log('已点击“立即生成”按钮');
clickContinueButton(9); // 9次
} else {
console.error('未找到span的父级button元素');
}
} else {
console.log('未找到文本内容为“立即生成”的span元素,继续检查...');
}
}
function clickContinueButton(count) {
if (shouldStop) {
console.log('停止流程');
return;
}
isExecuting = true;
let remainingClicks = count;
continueIntervalId = setInterval(() => {
if (shouldStop) {
clearInterval(continueIntervalId);
isExecuting = false;
console.log('停止流程');
return;
}
const continueButton = Array.from(document.querySelectorAll('button')).find(button => button.textContent.trim() === '继续生成');
if (continueButton) {
continueButton.click();
remainingClicks -= 1;
console.log('已点击“继续生成”按钮,剩余次数:'+remainingClicks);
if (remainingClicks === 0) {
clearInterval(continueIntervalId); // 停止定时器
console.log('完成9次“继续生成”按钮的点击');
setTimeout(() => {
if (!shouldStop) {
isExecuting = false;
checkAndClickGenerateButton();
}
}, 30000); // 等待30000毫秒(30秒)
}
} else {
console.log('未找到“继续生成”按钮,继续检查...');
}
}, 10000); // 每次点击间隔10000毫秒(10秒)
}
function addCustomButtons() {
const startButton = document.createElement('button');
startButton.textContent = '开始';
startButton.style.position = 'fixed';
startButton.style.top = '10px';
startButton.style.left = '10px';
startButton.style.zIndex = '9999';
startButton.style.padding = '5px 10px';
startButton.style.fontSize = '14px';
startButton.style.backgroundColor = 'green';
startButton.style.color = 'white';
startButton.style.border = 'none';
startButton.style.borderRadius = '50%';
startButton.style.cursor = 'pointer';
startButton.style.boxShadow = '0 2px 5px rgba(0, 0, 0, 0.2)';
startButton.style.transition = 'background-color 0.3s';
startButton.addEventListener('mouseover', () => {
startButton.style.backgroundColor = 'darkgreen';
});
startButton.addEventListener('mouseout', () => {
startButton.style.backgroundColor = 'green';
});
startButton.addEventListener('click', () => {
console.log('开始全流程');
shouldStop = false; // 确保流程可以开始
checkAndClickGenerateButton();
});
const stopButton = document.createElement('button');
stopButton.textContent = '停止';
stopButton.style.position = 'fixed';
stopButton.style.top = '10px';
stopButton.style.left = '60px';
stopButton.style.zIndex = '9999';
stopButton.style.padding = '5px 10px';
stopButton.style.fontSize = '14px';
stopButton.style.backgroundColor = 'red';
stopButton.style.color = 'white';
stopButton.style.border = 'none';
stopButton.style.borderRadius = '50%';
stopButton.style.cursor = 'pointer';
stopButton.style.boxShadow = '0 2px 5px rgba(0, 0, 0, 0.2)';
stopButton.style.transition = 'background-color 0.3s';
stopButton.addEventListener('mouseover', () => {
stopButton.style.backgroundColor = 'darkred';
});
stopButton.addEventListener('mouseout', () => {
stopButton.style.backgroundColor = 'red';
});
stopButton.addEventListener('click', () => {
console.log('停止全流程');
shouldStop = true; // 设置停止标志
clearInterval(continueIntervalId); // 清除“继续生成”按钮的定时器
isExecuting = false; // 清除执行标志
});
document.body.appendChild(startButton);
document.body.appendChild(stopButton);
}
addCustomButtons();
})();