// ==UserScript== // @name Sepolia Faucet Monitor and Button Clicker // @namespace http://tampermonkey.net/ // @version 0.6 // @description Monitor the value of a specific element, and click buttons in a loop when the value is greater than or equal to 2 // @author Jack // @match https://sepolia-faucet.pk910.de/* // @grant none // ==/UserScript== (function() { 'use strict'; // 目标元素的CSS选择器 const valueElementSelector = 'body > div.faucet-wrapper > div > div > div > div.faucet-body > div > div.pow-status-container > div > div.row.pow-status-top > div:nth-child(1) > div.status-value'; const firstButtonSelector = 'body > div.faucet-wrapper > div > div > div > div.faucet-body > div > div.faucet-actions.center > button'; const secondButtonSelector = 'body > div.faucet-wrapper > div > div > div > div.faucet-body > div > div > div:nth-child(2) > div:nth-child(4) > div > div > button'; const maxFaucetValue = 2.49; // 发送消息到 Gotify function sendMessageToGotify(title = "按钮点击通知", message = "第二个按钮已点击") { const gotifyUrl = "https://gotify.erhe.top/message?token=A9KF--mx_12PjSu"; const payload = { message: message, title: title, priority: 5 }; fetch(gotifyUrl, { method: 'POST', headers: { 'Content-Type': 'application/json' }, body: JSON.stringify(payload) }) .then(response => { if (response.ok) { console.log("消息发送成功"); } else { console.error(`消息发送失败,状态码: ${response.status}`); } }) .catch(error => { console.error(`请求出现异常: ${error}`); }); } // 监控函数 function monitorElement() { // 获取目标元素 const valueElement = document.querySelector(valueElementSelector); // 如果元素存在,则提取浮点数部分 if (valueElement) { const valueText = valueElement.textContent; const floatValue = parseFloat(valueText); // 如果浮点数大于等于 2,则进入死循环点击按钮 if (!isNaN(floatValue) && floatValue >= maxFaucetValue) { console.log(`Value is ${floatValue}, entering loop to click buttons...`); clickButtonsLoop(); } else { console.log(`Value is ${floatValue}`); } } else { console.log('Target value element not found.'); } } // 点击按钮循环函数 function clickButtonsLoop() { // 点击第一个按钮 const firstButton = document.querySelector(firstButtonSelector); if (firstButton) { firstButton.click(); } // 点击第二个按钮 const secondButton = document.querySelector(secondButtonSelector); if (secondButton) { secondButton.click(); // 第二个按钮点击后发送消息 sendMessageToGotify(); } // 继续循环 setTimeout(clickButtonsLoop, 1000); } // 隐藏图片函数 function hideImage() { // 使用 XPath 查找元素 const imageElement = document.evaluate('/html/body/div[2]/div/div/div/div[3]/div/div[1]/div/div[1]/div/img', document, null, XPathResult.FIRST_ORDERED_NODE_TYPE, null).singleNodeValue; if (imageElement) { imageElement.style.display = 'none'; } else { console.log('Target image element not found.'); } } setTimeout(hideImage, 2000); // 设置一个死循环,每隔一秒执行一次监控函数 setInterval(monitorElement, 1000); })();