Auto Click Captcha

Auto clicks the recaptcha checkbox

  1. // ==UserScript==
  2. // @name Auto Click Captcha
  3. // @namespace http://tampermonkey.net/
  4. // @version 0.1
  5. // @description Auto clicks the recaptcha checkbox
  6. // @author You
  7. // @match *://*/recaptcha/*
  8. // @icon data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw==
  9. // @grant none
  10. // @license MIT
  11. // ==/UserScript==
  12.  
  13.  
  14. function qSelector(selector) {
  15. return document.querySelector(selector);
  16. }
  17.  
  18. (function() {
  19. 'use strict';
  20. var solved = false;
  21. var checkBoxClicked = false;
  22. var requestCount = 0;
  23. const MAX_ATTEMPTS = 1;
  24. const CHECK_BOX = ".recaptcha-checkbox-border";
  25. const AUDIO_BUTTON = "#recaptcha-audio-button";
  26. const PLAY_BUTTON = ".rc-audiochallenge-play-button .rc-button-default";
  27. const AUDIO_SOURCE = "#audio-source";
  28. const IMAGE_SELECT = "#rc-imageselect";
  29. const RESPONSE_FIELD = ".rc-audiochallenge-response-field";
  30. const AUDIO_ERROR_MESSAGE = ".rc-audiochallenge-error-message";
  31. const AUDIO_RESPONSE = "#audio-response";
  32. const RELOAD_BUTTON = "#recaptcha-reload-button";
  33. const RECAPTCHA_STATUS = "#recaptcha-accessible-status";
  34. const DOSCAPTCHA = ".rc-doscaptcha-body";
  35. const VERIFY_BUTTON = "#recaptcha-verify-button";
  36. var recaptchaInitialStatus = qSelector(RECAPTCHA_STATUS) ? qSelector(RECAPTCHA_STATUS).innerText : ""
  37. function isHidden(el) {
  38. return(el.offsetParent === null)
  39. }
  40. try {
  41. if(!checkBoxClicked && qSelector(CHECK_BOX) && !isHidden(qSelector(CHECK_BOX))) {
  42. //console.log("checkbox clicked");
  43. qSelector(CHECK_BOX).click();
  44. checkBoxClicked = true;
  45. }
  46. //Check if the captcha is solved
  47. if(qSelector(RECAPTCHA_STATUS) && (qSelector(RECAPTCHA_STATUS).innerText != recaptchaInitialStatus)) {
  48. solved = true;
  49. console.log("SOLVED");
  50. }
  51. if(requestCount > MAX_ATTEMPTS) {
  52. console.log("Attempted Max Retries. Stopping the solver");
  53. solved = true;
  54. }
  55. //Stop solving when Automated queries message is shown
  56. if(qSelector(DOSCAPTCHA) && qSelector(DOSCAPTCHA).innerText.length > 0) {
  57. console.log("Automated Queries Detected");
  58. }
  59. } catch(err) {
  60. console.log(err.message);
  61. console.log("An error occurred while solving. Stopping the solver.");
  62. }
  63. })();