Auto click Claim Button

自動點擊所有帶有 "Claim" 字眼的按鈕,直到按鈕可用為止,並等待 CAPTCHA 解決。

当前为 2024-12-05 提交的版本,查看 最新版本

  1. // ==UserScript==
  2. // @name Auto click Claim Button
  3. // @namespace AutoClickClaimButton
  4. // @version 1.0
  5. // @description 自動點擊所有帶有 "Claim" 字眼的按鈕,直到按鈕可用為止,並等待 CAPTCHA 解決。
  6. // @author Yueei
  7. // @match *://*/* // 這裡設置為所有網站
  8. // @grant none
  9. // @license MIT
  10. // ==/UserScript==
  11. (function () {
  12. 'use strict';
  13. // 定義 CAPTCHA 檢查的函數
  14. function checkCaptcha() {
  15. const captchaSelectors = [
  16. "iframe[src*='recaptcha']",
  17. ".g-recaptcha",
  18. ".h-captcha",
  19. ".turnstile",
  20. "[data-sitekey]",
  21. ];
  22. const captchaElements = captchaSelectors.some(selector => document.querySelector(selector));
  23. if (captchaElements) {
  24. console.log('檢測到 CAPTCHA,等待解決...');
  25. return true; // 若發現 CAPTCHA,返回 true 表示有 CAPTCHA
  26. }
  27. return false; // 若無 CAPTCHA,返回 false 允許進行點擊
  28. }
  29. // 定義檢查 Claim 按鈕的函數
  30. function clickClaimButton() {
  31. const buttons = Array.from(document.querySelectorAll("button, a"));
  32. const claimButton = buttons.find(btn =>
  33. btn.textContent.trim().toLowerCase().includes('claim') &&
  34. !btn.disabled
  35. );
  36. if (claimButton) {
  37. claimButton.click();
  38. console.log('已成功點擊 Claim 按鈕!', claimButton);
  39. } else {
  40. console.log('尚未找到可用的 Claim 按鈕,等待...');
  41. }
  42. }
  43. // 主函數,定期執行檢查
  44. function startProcess() {
  45. console.log('自動點擊腳本已啟動,正在監控 Claim 按鈕...');
  46. setInterval(() => {
  47. if (!checkCaptcha()) { // 如果沒有 CAPTCHA,則嘗試點擊 Claim 按鈕
  48. clickClaimButton();
  49. }
  50. }, 10000); // 每10秒執行一次檢查
  51. }
  52. // 啟動腳本
  53. startProcess();
  54. })();