# Encontrar os parâmetros do reCAPTCHA

> Como encontrar o websiteKey (sitekey), o websiteURL, o pageAction do v3 e a função de callback do reCAPTCHA nos painéis Network, Sources e Console das ferramentas do desenvolvedor, com um script de busca automática.

Source: https://docs.yescaptcha.com/pt/guides/find-recaptcha-parameters/ · Last verified: 2026-10-15

> This page was machine-translated from the Chinese version. If anything differs, the Chinese version prevails: https://docs.yescaptcha.com/zh/guides/find-recaptcha-parameters/

Para criar uma tarefa de reCAPTCHA, você precisa do `websiteURL` (endereço da página onde aparece o captcha) e do `websiteKey` (chave do site); o v3 também exige `pageAction`. Ao simular o envio com ferramentas como o Selenium, você também precisa conhecer a função de callback. Tudo isso pode ser encontrado nas ferramentas do desenvolvedor do navegador (F12).

## O jeito mais rápido: script de busca automática

Abra a página onde aparece o captcha, pressione F12 para abrir o Console, cole o script abaixo e execute:

find-recaptcha-clients.js

```js
// Paste into the browser DevTools console on a page with reCAPTCHA, then run findRecaptchaClients().
// Lists every reCAPTCHA on the page: version (V2/V3), sitekey, page URL and the callback function.
function findRecaptchaClients() {
  if (typeof ___grecaptcha_cfg === 'undefined') return [];
  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 (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;
  });
}

findRecaptchaClients();
```

No resultado, `sitekey` é o `websiteKey`, `pageurl` é o `websiteURL`, `version` indica se é v2 ou v3, e `function` e `callback` correspondem à função de callback:

```json
[
  {
    "id": "0",
    "version": "V2",
    "sitekey": "6Le-wvkSAAAAAPBMRTvw0Q4Muexq9bi0DJwx_mJ-",
    "function": "onSuccess",
    "callback": "___grecaptcha_cfg.clients['0']['l']['l']['callback']",
    "pageurl": "https://www.google.com/recaptcha/api2/demo"
  }
]
```

Um array vazio significa que a página ainda não carregou o reCAPTCHA; execute novamente depois que o captcha aparecer.

## websiteKey e websiteURL

No painel Network, pesquise por `anchor` e encontre uma requisição como esta:

```text
https://www.google.com/recaptcha/api2/anchor?ar=1&k=6LfW6wATAAAAAHLqO2pb8bDBahxlMxNdo9g947u9&co=...&hl=en&size=normal
```

-   O valor depois de `k=` é o `websiteKey`.
-   Em `websiteURL`, informe o endereço completo da página onde aparece o captcha (normalmente é o `Referer` dessa requisição).

Você também pode pesquisar `data-sitekey` no código-fonte da página.

## pageAction (v3)

`pageAction` é o `action` que a página passa ao chamar `grecaptcha.execute(chave do site, {action: '...'})`, e deve ser igual ao da página.

**Método 1: pesquisar no código-fonte.** No painel Sources das ferramentas do desenvolvedor, clique com o botão direito e escolha “Search in all files”. Para o v3 comum, pesquise `.execute(`; para o v3 Enterprise, pesquise `.enterprise.execute`; depois veja o `action` que vem a seguir:

```js
grecaptcha.ready(function () {
  grecaptcha.execute('6LdpS-gUAAAAAL3Qr2yP7rkrQjkKBVvEY_48JS5l', { action: 'login' }).then(function (token) {
    // ...
  });
});
```

Aqui o `pageAction` é `login`.

**Método 2: ponto de interrupção.** Se o código estiver ofuscado e a pesquisa não encontrar nada, execute `debug(grecaptcha.execute)` no console (`debug(grecaptcha.enterprise.execute)` para o Enterprise) e, em seguida, faça na página a ação que dispara a verificação (por exemplo, clicar em login). Quando a execução parar no ponto de interrupção, veja o valor de `action` em Scope, à direita.

Um site pode usar `action` diferentes em etapas diferentes (por exemplo, no cadastro, primeiro `signup/submit_email` e depois `signup/success`); use o valor da etapa que você precisa passar. Pressione F8 para continuar a execução e ver o próximo `action`.

## Função de callback

Ao preencher o token no navegador com Selenium ou ferramentas semelhantes, depois de preencher é preciso chamar a função de callback da página para avisar que a verificação foi concluída:

-   No painel Elements, pesquise `data-callback`; o valor é o nome da função de callback, por exemplo `data-callback="onSuccess"`.
-   Ou pesquise `grecaptcha.render` e veja o `callback` nos parâmetros.
-   Ou consulte `___grecaptcha_cfg.clients` no console, ou use o script de busca automática acima.

Como chamar:

```python
driver.execute_script("onSuccess(arguments[0])", g_recaptcha_response)
```

Algumas páginas não têm função de callback; nesse caso, preencha o token na caixa de texto `g-recaptcha-response` e envie o formulário diretamente. Veja o fluxo completo em [Concluir o reCAPTCHA com um token](https://docs.yescaptcha.com/pt/guides/submit-recaptcha-token.md).
