如何抓取谷歌验证码的文本

问题描述 投票:0回答:1

对于表单,我使用谷歌验证码来防止垃圾邮件。 我查看了 dom,验证码的代码如下所示:

<div class="rc-anchor-center-container">
   <label class="rc-anchor-center-item rc-anchor-checkbox-label" aria-hidden="true" role="presentation" id="recaptcha-anchor-label">
     <span aria-live="polite" aria-labelledby="recaptcha-accessible-status"></span>
     I'm not a robot
   </label>
</div>

我尝试用 javascript 抓取文本

I'm not a robot
:

$( document ).ready(function() {
   var captchaText = $('#recaptcha-anchor-label').text();
   alert(captchaText);
});

不幸的是,警报是空的。我怎样才能抓取文字?

javascript jquery text recaptcha
1个回答
0
投票

当 recaptcha 脚本加载并将其内容注入 DOM 时,您需要调用您的方法。要做到这一点,最简单的方法是向在验证码中加载的脚本添加回调方法。

export function createScript(url: string, callback?: Function): void {
    const script = document.createElement('script');
    script.src = url;
    script.async = true;

    if (callback) {
        script.addEventListener('load', () => {
            callback();
        });
    }

    document.body.appendChild(script);
}

const recaptchaUrl = 'https://www.google.com/recaptcha/api.js';
createScript(recaptchaUrl, () => {
            // Insert your desired code
});

© www.soinside.com 2019 - 2024. All rights reserved.