Auto click elements with custom delays after page load
// ==UserScript==
// @name Auto-click with Delay
// @namespace http://tampermonkey.net/
// @version 2025-10-25
// @description Auto click elements with custom delays after page load
// @author Pb-ctrl
// @match https://platform.deepseek.com/usage
// @match https://69yun.top/user
// @match https://www.youtube.com/*
// @icon https://s2.loli.net/2024/04/28/WEkjH9iy51z63Of.jpg
// @grant none
// @license MIT
// ==/UserScript==
(function() {
'use strict';
// 配置需要自动点击的元素(选择器 + 延迟时间ms)
const targets = [
{//deepseek-api
selector: 'body > div.ds-theme.ds-modal-wrapper > div > div:nth-child(2) > div > div.ds-modal-content__footer > div > div.ds-button.ds-button--secondary.ds-button--filled.ds-button--rect.ds-button--m',
delay: 1000 // 1秒后点击
},
{//69云
selector: '#index-pop-modal > div > div > div > div.card-header.align-items-center.px-4.py-3 > div.text-right.flex-grow-1 > button',
delay: 500 // 0.5秒后点击
},
{//youtube
selector: '#movie_player > div.ytp-chrome-bottom > div.ytp-chrome-controls > div.ytp-right-controls > div.ytp-right-controls-right > button.ytp-fullscreen-button.ytp-button',
delay: 5000 // 2秒后点击
}
];
// 等待页面完全加载
function waitForPageLoad() {
return new Promise(resolve => {
if (document.readyState === 'complete') {
resolve();
} else {
window.addEventListener('load', resolve);
}
});
}
// 检查元素是否可见
function isElementVisible(element) {
return !!(element.offsetWidth || element.offsetHeight || element.getClientRects().length);
}
// 轮询检测元素并在延迟后点击
async function startAutoClick() {
// 等待页面完全加载
await waitForPageLoad();
console.log('页面已完全加载,开始监控元素...');
const checkAndClick = setInterval(() => {
// 过滤还未处理的目标
const remainingTargets = targets.filter(target => !target.processed);
remainingTargets.forEach(target => {
try {
const element = document.querySelector(target.selector);
if (element && isElementVisible(element)) {
// 标记为已处理
target.processed = true;
// 延迟指定时间后点击
setTimeout(() => {
element.click();
console.log(`已点击元素 [延迟${target.delay}ms]: ${target.selector}`);
}, target.delay);
}
} catch (error) {
console.error(`处理元素 ${target.selector} 时出错:`, error);
}
});
// 所有元素都处理完后停止轮询
if (targets.every(target => target.processed)) {
clearInterval(checkAndClick);
console.log('所有目标元素已处理完毕');
}
}, 500); // 每500毫秒检查一次
}
// 启动自动点击流程
startAutoClick();
})();