reCAPTCHA Auto Reset on Fail

Авто-перезагрузка рекапчи при неправильном решении

スクリプトをインストールするには、Tampermonkey, GreasemonkeyViolentmonkey のような拡張機能のインストールが必要です。

You will need to install an extension such as Tampermonkey to install this script.

スクリプトをインストールするには、TampermonkeyViolentmonkey のような拡張機能のインストールが必要です。

スクリプトをインストールするには、TampermonkeyUserscripts のような拡張機能のインストールが必要です。

このスクリプトをインストールするには、Tampermonkeyなどの拡張機能をインストールする必要があります。

このスクリプトをインストールするには、ユーザースクリプト管理ツールの拡張機能をインストールする必要があります。

(ユーザースクリプト管理ツールは設定済みなのでインストール!)

このスタイルをインストールするには、Stylusなどの拡張機能をインストールする必要があります。

このスタイルをインストールするには、Stylus などの拡張機能をインストールする必要があります。

このスタイルをインストールするには、Stylus tなどの拡張機能をインストールする必要があります。

このスタイルをインストールするには、ユーザースタイル管理用の拡張機能をインストールする必要があります。

このスタイルをインストールするには、ユーザースタイル管理用の拡張機能をインストールする必要があります。

このスタイルをインストールするには、ユーザースタイル管理用の拡張機能をインストールする必要があります。

(ユーザースタイル管理ツールは設定済みなのでインストール!)

このスクリプトの質問や評価の投稿はこちら通報はこちらへお寄せください
// ==UserScript==
// @name         reCAPTCHA Auto Reset on Fail
// @namespace    recaptcha-auto-reset
// @version      1.1
// @description  Авто-перезагрузка рекапчи при неправильном решении
// @author       GPT
// @match        *://*/*
// @grant        none
// ==/UserScript==

(function() {
    'use strict';

    const observer = new MutationObserver(() => {
        const errorText = document.querySelector('.rc-anchor-error-msg') ||
                          document.querySelector('#recaptcha-error');

        // Если сайт показывает ошибку
        if (errorText && errorText.innerText.trim().length > 0) {
            console.log('[AutoCaptchaReset] Ошибка reCAPTCHA. Перезапуск...');

            // Кнопка перезагрузки
            const resetBtn = document.querySelector('.rc-button-reload');

            if (resetBtn) {
                resetBtn.click();
                console.log('[AutoCaptchaReset] Нажата кнопка перезагрузки');
            } else {
                // fallback: на всякий случай перезагрузим фрейм
                const iframe = document.querySelector('iframe[src*="google.com/recaptcha"]');
                if (iframe) iframe.src = iframe.src;
                console.log('[AutoCaptchaReset] Перезагружен iframe');
            }
        }
    });

    observer.observe(document.body, { childList: true, subtree: true });
})();