您需要先安装一个扩展,例如 篡改猴、Greasemonkey 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 Userscripts ,之后才能安装此脚本。
您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。
您需要先安装用户脚本管理器扩展后才能安装此脚本。
Streamlines the process of engaging with CAPTCHA by automatically activating the verification checkbox.
// ==UserScript== // @name Auto Open CAPTCHA // @description Streamlines the process of engaging with CAPTCHA by automatically activating the verification checkbox. // @version 1.0 // @license GNU General Public License // @icon https://github.com/Gamby-1791/autoOpenCAPTCHA/raw/main/captcha.png // @match *://*/recaptcha/* // @grant none // @namespace https://greasyfork.org/users/1231264 // ==/UserScript== // Copyright (C) 2023 // // This program is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation, either version 3 of the License, or // (at your option) any later version. // // This program is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // // You should have received a copy of the GNU General Public License // along with this program. If not, see <http://www.gnu.org/licenses/>. function qSelector(selector) { return document.querySelector(selector); } (function() { 'use strict'; var solved = false; var checkBoxClicked = false; var requestCount = 0; const MAX_ATTEMPTS = 1; const CHECK_BOX = ".recaptcha-checkbox-border"; const AUDIO_BUTTON = "#recaptcha-audio-button"; const PLAY_BUTTON = ".rc-audiochallenge-play-button .rc-button-default"; const AUDIO_SOURCE = "#audio-source"; const IMAGE_SELECT = "#rc-imageselect"; const RESPONSE_FIELD = ".rc-audiochallenge-response-field"; const AUDIO_ERROR_MESSAGE = ".rc-audiochallenge-error-message"; const AUDIO_RESPONSE = "#audio-response"; const RELOAD_BUTTON = "#recaptcha-reload-button"; const RECAPTCHA_STATUS = "#recaptcha-accessible-status"; const DOSCAPTCHA = ".rc-doscaptcha-body"; const VERIFY_BUTTON = "#recaptcha-verify-button"; var recaptchaInitialStatus = qSelector(RECAPTCHA_STATUS) ? qSelector(RECAPTCHA_STATUS).innerText : "" function isHidden(el) { return(el.offsetParent === null) } try { if(!checkBoxClicked && qSelector(CHECK_BOX) && !isHidden(qSelector(CHECK_BOX))) { //console.log("checkbox clicked"); qSelector(CHECK_BOX).click(); checkBoxClicked = true; } //Check if the captcha is solved if(qSelector(RECAPTCHA_STATUS) && (qSelector(RECAPTCHA_STATUS).innerText != recaptchaInitialStatus)) { solved = true; console.log("SOLVED"); } if(requestCount > MAX_ATTEMPTS) { console.log("Attempted Max Retries. Stopping the solver"); solved = true; } //Stop solving when Automated queries message is shown if(qSelector(DOSCAPTCHA) && qSelector(DOSCAPTCHA).innerText.length > 0) { console.log("Automated Queries Detected"); } } catch(err) { console.log(err.message); console.log("An error occurred while solving. Stopping the solver."); } })();