autoclaim.in auto click shortlinks

Mengklik tombol "VISIT" secara berurutan dengan pengecekan apakah tombol dapat diklik, lalu lanjut ke tombol berikutnya jika tidak bisa diklik atau disable

  1. // ==UserScript==
  2. // @name autoclaim.in auto click shortlinks
  3. // @namespace tampermonkey&violentmonkey& others
  4. // @version 0.1
  5. // @description Mengklik tombol "VISIT" secara berurutan dengan pengecekan apakah tombol dapat diklik, lalu lanjut ke tombol berikutnya jika tidak bisa diklik atau disable
  6. // @author OjoNgonogono
  7. // @match https://autoclaim.in/*
  8. // @grant none
  9. // @license Copyright OjoNgono
  10. // ==/UserScript==
  11.  
  12. (function() {
  13. 'use strict';
  14.  
  15. if (window.location.href === "https://autoclaim.in/dashboard") {
  16. window.location.href = "https://autoclaim.in/dashboard/shortlinks";
  17. return;
  18. }
  19.  
  20. const formIds = ["visit11", "visit279", "visit66", "visit517", "visit598", "visit5", "visit569", "visit75", "visit12", "visit389", "visit574", "visit319", "visit79", "visit500", "visit559", "visit645", "visit38", "visit564"];
  21.  
  22. function delay(ms) {
  23. return new Promise(resolve => setTimeout(resolve, ms));
  24. }
  25.  
  26. async function processFormAndClick(formId) {
  27. const form = document.querySelector(`form[name="${formId}"]`);
  28. const button = document.querySelector(`button[form="${formId}"]`);
  29.  
  30. if (form) {
  31. form.removeAttribute('target');
  32. }
  33.  
  34. if (button && !button.disabled) {
  35. button.click();
  36. await delay(2000);
  37. }
  38. }
  39.  
  40. async function processAllForms() {
  41. for (const formId of formIds) {
  42. await processFormAndClick(formId);
  43. }
  44. }
  45.  
  46. window.addEventListener('load', processAllForms);
  47. })();