打开leetcode题目页面会自动开始计时
当前为
// ==UserScript==
// @name leetcode自动计时
// @namespace http://tampermonkey.net/
// @version 0.1.1
// @description 打开leetcode题目页面会自动开始计时
// @author You
// @match *://leetcode.cn/problems/*
// @icon https://www.google.com/s2/favicons?sz=64&domain=leetcode.cn
// @grant none
// @license MIT
// ==/UserScript==
(function() {
'use strict';
// Your code here...
console.log("Waiting for .fa-arrows-rotate or .fa-alarm-clock to appear...");
function clickElementWithRetry(selector) {
return new Promise((resolve, reject) => {
setTimeout(() => {
console.log(`开始执行:选择器为 ${selector}`);
let retryCount = 0;
let intervalId = setInterval(function() {
retryCount++;
// 在这里执行需要重试的操作
const element = document.querySelector(selector);
console.log(`重试第 ${retryCount} 次,选择器为 ${selector}`);
// 如果查询到非空元素或者重试次数达到50次,则停止重试
if (element || retryCount >= 50) {
clearInterval(intervalId);
if (element) {
console.log(`点击 ${selector},退出循环`);
element.parentNode.click();
} else {
console.log("重试结束,未找到元素或达到最大重试次数。");
}
}
}, 200);
resolve();
}, 2000);
});
}
clickElementWithRetry('.fa-alarm-clock');
clickElementWithRetry('.fa-arrows-rotate').then(() => {
clickElementWithRetry('.fa-circle-play');
});
})();