# Как найти параметры reCAPTCHA

> Как найти websiteKey (sitekey), websiteURL, pageAction для v3 и callback-функцию reCAPTCHA на вкладках Network, Sources и Console в инструментах разработчика. Есть скрипт для автоматического поиска.

Source: https://docs.yescaptcha.com/ru/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/

Для создания задачи reCAPTCHA нужны `websiteURL` (адрес страницы, на которой появляется капча) и `websiteKey` (ключ сайта), а для v3 ещё и `pageAction`. Если вы отправляете токен через Selenium или похожий инструмент, понадобится и callback-функция. Всё это можно найти в инструментах разработчика браузера (F12).

## Самый быстрый способ: скрипт автоматического поиска

Откройте страницу с капчей, нажмите F12, перейдите в консоль (Console), вставьте и запустите:

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();
```

В результате `sitekey` — это `websiteKey`, `pageurl` — это `websiteURL`, `version` показывает, v2 это или v3, а `function` и `callback` — 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"
  }
]
```

Пустой массив означает, что reCAPTCHA на странице ещё не загрузилась. Запустите скрипт снова, когда капча появится.

## websiteKey и websiteURL

На вкладке Network найдите по запросу `anchor` запрос вида:

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

-   Значение после `k=` — это `websiteKey`.
-   В `websiteURL` укажите полный адрес страницы, на которой появляется капча (обычно это `Referer` данного запроса).

Также можно поискать `data-sitekey` в исходном коде страницы.

## pageAction (v3)

`pageAction` — это значение `action`, которое страница передаёт в `grecaptcha.execute(ключ_сайта, {action: '...'})`. Оно должно совпадать со значением на странице.

**Способ 1: поиск по исходному коду.** На вкладке Sources нажмите правой кнопкой мыши и выберите «Search in all files». Для обычной v3 ищите `.execute(`, для v3 Enterprise — `.enterprise.execute`, и посмотрите на `action` после него:

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

Здесь `pageAction` равен `login`.

**Способ 2: точка останова.** Если код обфусцирован и поиск ничего не находит, выполните в консоли `debug(grecaptcha.execute)` (для Enterprise — `debug(grecaptcha.enterprise.execute)`), затем выполните на странице действие, которое запускает проверку (например, нажмите «Войти»). Когда выполнение остановится, посмотрите значение `action` в панели Scope справа.

Сайт может использовать разные `action` на разных шагах (например, при регистрации сначала `signup/submit_email`, затем `signup/success`). Берите значение для того шага, который вам нужно пройти. Нажмите F8, чтобы продолжить выполнение и увидеть следующий `action`.

## Callback-функция

Когда вы подставляете токен на страницу через Selenium или похожий инструмент, после этого нужно вызвать callback-функцию страницы, чтобы сообщить ей, что проверка пройдена:

-   Найдите `data-callback` на вкладке Elements: его значение — имя callback-функции, например `data-callback="onSuccess"`.
-   Либо найдите `grecaptcha.render` и посмотрите параметр `callback`.
-   Либо посмотрите `___grecaptcha_cfg.clients` в консоли или воспользуйтесь скриптом автоматического поиска выше.

Как вызвать:

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

У некоторых страниц нет callback-функции: достаточно подставить токен в текстовое поле `g-recaptcha-response` и сразу отправить форму. Полный порядок действий см. в разделе [Как пройти reCAPTCHA с помощью токена](https://docs.yescaptcha.com/ru/guides/submit-recaptcha-token.md).
