как исправить «селен.общие.исключения.Исключение JavascriptException: Сообщение: ошибка javascript: $ не определен»

#javascript #python #selenium #selenium-chromedriver #recaptcha

Вопрос:

Я использовал этот код для отправки капчи на веб-странице с использованием selenium.

     driver.execute_script('$.ajax({ type: "get", url: "'   str(driver.current_url).split('.com')[1]   '?g-recaptcha-response='   g_response   '"}).done((html) => $("body").html(html) );')
 

Это правильная и единственная функция для отправки капчи, которую я нашел на веб-странице. И раньше это работало просто отлично. но пару дней назад он начал выдавать эту ошибку.

 selenium.common.exceptions.JavascriptException: Message: javascript error: $ is not defined
 

Я попытался заменить » $ » на «документ» и «Jquery» .. и т. Д., Но это не сработало. У кого-нибудь есть идеи, как исправить эту ошибку? или другой способ отправить капчу? Я также оставлю javascript, который я нашел на странице, если это поможет.

         var pickValidationRecaptcha;
        function pickValidateRecaptchaCallback() {
            pickValidationRecaptcha = grecaptcha.render('pickValidationRecaptcha', {
                'sitekey': recaptchaKey,
                'callback': function (resp) {
                    $.ajax({
                        type: "get",
                        url: "/pick/c6c23d46985a97ae5fbdc7c13ad2aa60?g-recaptcha-response="   resp
                    }).done(function (html) {
                        $("body").html(html);
                    });

                },
                'expired-callback': function () {
                    try {
                        grecaptcha.reset(reportRecaptcha);
                    }
                    catch (e) {
                    }
                }
            });
        }
        $(document).ready(function () {
            setTimeout(function () {
                if ($("#pickValidationRecaptcha").length > 0) {
                    pickValidateRecaptchaCallback();
                }
            }, 1000);
        });
        $(document).ajaxComplete(function () {
            setTimeout(function () {
                if ($("#pickValidationRecaptcha").length > 0) {
                    pickValidateRecaptchaCallback();
                }
            }, 1000);
        });
    
 

Я использую первую функцию, и она работала нормально. Он все еще работает, когда я запускаю его на консоли параметров разработчика.
Любая помощь будет признательна.
Спасибо.