CAPSOLVER
Blog
Como encontrar a função de callback do reCaptcha

Como encontrar a função de callback do reCaptcha

Logo of CapSolver

Adélia Cruz

Neural Network Developer

23-Sep-2025

Como encontrar a função de callback de cada versão do reCaptcha

⚠️ Cada site é diferente, se nenhum dos métodos a seguir resolver o problema.
Por favor, faça mais pesquisas você mesmo.

Após obter o valor gRecaptchaResponse reconhecido com sucesso através da API, se você estiver usando software de simulação, como o selenium, você precisa executar uma função de callback para informar à página da web que reconhecemos com sucesso, então vamos aprender como encontrar essa função:

Observação: Em alguns casos, não há realmente nenhuma função de callback. Nesse caso, você pode atribuir valores diretamente ao contêiner g-recaptcha-response e enviar o formulário.

Método 1: Pesquisa através do elemento do console

Abra a página exibida, pressione F12 para entrar no console, pressione Ctrl+F em Elementos para pesquisar, palavra-chave de pesquisa: data-callback

Como você pode ver, nossa função de callback aqui é onSuccess, e então só precisamos executar essa função no selenium

Se você não conseguir encontrar, pode estar confuso ou em outras circunstâncias, você pode tentar outros métodos

python Copy
driver.execute_script(f'onSuccess("{gRecaptchaResponse}")')

Método 2: Aplicável à série recaptcha-v3

Similar ao método 1, pesquise palavras-chave: grecaptcha.render

Encontre código semelhante, onde callback é a função de callback

js Copy
grecaptcha.render('example', {
  'sitekey': 'someSitekey',
  'callback': myCallbackFunction,
  'theme': 'dark'
});

Método 3: Pesquisa através do console

Pressione F12 para entrar no console, digite ___grecaptcha_cfg.clients, se um erro for relatado, a página da web não carregou reCaptcha

Normalmente existem muitos nós, precisamos prestar atenção à diferença, aqui onSuccess é a função de callback que estamos procurando

Método 4: Pesquisa por função de busca automática

Se for difícil executar os métodos acima, você pode tentar encontrar definindo uma função de busca automática
Pressione F12 para entrar no console e digite a seguinte função autodefinida findRecaptchaClients()

js Copy
function findRecaptchaClients() {
// eslint-disable-next-line camelcase
  if (typeof (___grecaptcha_cfg) !== 'undefined') {
// eslint-disable-next-line camelcase, no-undef
    return Object.entries(___grecaptcha_cfg.clients).map(([cid, client]) => {
      const data = { id: cid, version: cid >= 10000 ? 'V3' : 'V2' }
      const objects = Object.entries(client).filter(([_, value]) => value && typeof value === 'object')

      objects.forEach(([toplevelKey, toplevel]) => {
        const found = Object.entries(toplevel).find(([_, value]) => (
          value && typeof value === 'object' && 'sitekey' in value && 'size' in value
        ))

        if (typeof toplevel === 'object' && toplevel instanceof HTMLElement && toplevel['tagName'] === 'DIV') {
          data.pageurl = toplevel.baseURI
        }

        if (found) {
          const [sublevelKey, sublevel] = found

          data.sitekey = sublevel.sitekey
          const callbackKey = data.version === 'V2' ? 'callback' : 'promise-callback'
          const callback = sublevel[callbackKey]
          if (!callback) {
            data.callback = null
            data.function = null
          } else {
            data.function = callback
            const keys = [cid, toplevelKey, sublevelKey, callbackKey].map((key) => `['${key}']`).join('')
            data.callback = `___grecaptcha_cfg.clients${keys}`
          }
        }
      })
      return data
    })

  }
  return []
}

findRecaptchaClients && findRecaptchaClients()

Em seguida, execute esta função findRecaptchaClients() no console para encontrar a função correspondente

js Copy
[
  {
    "id": "0",
    "version": "V2",
    "sitekey": "site key-",
    "function": "onSuccess",
    "callback": "___grecaptcha_cfg.clients['0']['l']['l']['callback']",
    "pageurl": "site url"
  }
]

Como chamar a função anônima reCaptcha?

Observação: Às vezes, a função de callback encontrada é um nome de função, como onSuccess mencionado acima, diretamente onSuccess(gRecaptchaResponse) ao chamar, mas às vezes é encontrada como uma função anônima, o que significa que não há nome de função, como o seguinte:

Para esse tipo de função anônima, só precisamos executá-la de acordo com o caminho completo que acabamos de encontrar, e o efeito é o mesmo, por exemplo:

js Copy
___grecaptcha_cfg.clients.xxxxxxxxx.xxxxx.xxxxx.callback(gRecaptchaResponse)

Vamos dar um exemplo, tome este site como exemplo, digite ___grecaptcha_cfg.clients para expandir a pesquisa, você pode ver a função de callback aqui promise-callback é uma função anônima f(token)

Podemos clicar com o botão direito nele e clicar em Copiar caminho da propriedade para copiar este caminho do nó

js Copy
[100000].l.l["promise-callback"]("gRecaptchaResponse")

Adicione o ___grecaptcha_cfg.clients que acabou de entrar, e você pode obter o caminho completo desta função

js Copy
___grecaptcha_cfg.clients[100000].l.l["promise-callback"]

Finalmente, é o mesmo que o método de execução mencionado acima, basta executá-lo como uma função normal

js Copy
___grecaptcha_cfg.clients[100000].l.l["promise-callback"](gRecaptchaResponse)

Equipe Capsolver 💜

Declaração de Conformidade: As informações fornecidas neste blog são apenas para fins informativos. A CapSolver está comprometida em cumprir todas as leis e regulamentos aplicáveis. O uso da rede CapSolver para atividades ilegais, fraudulentas ou abusivas é estritamente proibido e será investigado. Nossas soluções de resolução de captcha melhoram a experiência do usuário enquanto garantem 100% de conformidade ao ajudar a resolver dificuldades de captcha durante a coleta de dados públicos. Incentivamos o uso responsável de nossos serviços. Para mais informações, visite nossos Termos de Serviço e Política de Privacidade.

Mais

solucionador de captchas para crawlers da web
Como resolver reCAPTCHA em raspagem de web usando Python

Aprenda como resolver reCAPTCHA v2 e v3 em web scraping usando Python e Capsolver. Guia passo a passo, opções de proxy e exemplos de código para automação sem problemas.

reCAPTCHA
Logo of CapSolver

Adélia Cruz

24-Oct-2025

Automação de SEO Potencializada pela Inteligência Artificial: Como Resolver Captcha para uma Coleta de Dados Mais Inteligente das SERP
Automação de SEO com Inteligência Artificial: Como resolver Captcha para coleta de dados mais inteligente do SERP

Descubra como a Automação de SEO Potencializada pela IA supera os desafios do CAPTCHA para coleta de dados mais inteligente das SERP e descubra as soluções reCAPTCHA v2/v3.

reCAPTCHA
Logo of CapSolver

Aloísio Vítor

23-Oct-2025

Guia para Resolver reCAPTCHA v2
Como resolver reCAPTCHA v2: Guia para resolver reCAPTCHA v2

Aprenda como automatizar a resolução do Google reCAPTCHA v2 usando o CapSolver. Descubra integração de API e SDK, guias passo a passo e códigos bônus para simplificar a resolução de captchas para web scraping, automação e projetos de desenvolvimento.

reCAPTCHA
Logo of CapSolver

Aloísio Vítor

22-Oct-2025

Solucionador de Recaptcha
Solucionador de reCAPTCHA Reconhecimento Automático e Métodos de Solução

Aprenda a reconhecer e resolver automaticamente desafios do Google reCAPTCHA v2, v3, invisível e enterprise usando técnicas avançadas de IA e OCR

reCAPTCHA
Logo of CapSolver

Adélia Cruz

22-Oct-2025

melhor resolvedor de reCAPTCHA
Qual resolvedor de reCAPTCHA é o melhor? Melhor resolvedor de reCAPTCHA

Neste artigo, exploraremos os fatores-chave que determinam a eficácia de um solucionador de reCAPTCHA e destacaremos por que o CapSolver se destaca como o melhor solucionador de reCAPTCHA para 2024.

reCAPTCHA
Logo of CapSolver

Aloísio Vítor

22-Oct-2025

Como resolver reCAPTCHA v2 no Crawl4AI com Integração do CapSolver
Como resolver reCAPTCHA v2 no Crawl4AI com integração do CapSolver

Resolva reCAPTCHA v2 no Crawl4AI com CapSolver — API e métodos de extensão para automatizar o tratamento de CAPTCHA para raspagem de web.

reCAPTCHA
Logo of CapSolver

Adélia Cruz

21-Oct-2025