# reCAPTCHA parametrelerini bulma

> reCAPTCHA'nın websiteKey (sitekey), websiteURL, v3 pageAction ve callback fonksiyonunu geliştirici araçlarındaki Network, Sources ve Console panellerinde nasıl bulacağınız; otomatik bulma betiğiyle birlikte.

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

Bir reCAPTCHA görevi oluşturmak için `websiteURL` (CAPTCHA’nın göründüğü sayfanın adresi) ve `websiteKey` (site anahtarı) gerekir; v3 için ayrıca `pageAction` gerekir. Selenium gibi araçlarla tarayıcıyı yönlendirirken callback fonksiyonunu da bilmeniz gerekir. Bunların hepsini tarayıcının geliştirici araçlarında (F12) bulabilirsiniz.

## En hızlı yol: otomatik bulma betiği

CAPTCHA’nın göründüğü sayfayı açın, F12 ile Console’u açın, aşağıdaki betiği yapıştırıp çalıştırın:

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

Çıktıda `sitekey` değeri `websiteKey`, `pageurl` değeri `websiteURL`’dir; `version` v2 mi v3 mü olduğunu gösterir, `function` ve `callback` ise callback fonksiyonudur:

```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"
  }
]
```

Boş dizi dönerse sayfada reCAPTCHA henüz yüklenmemiştir; CAPTCHA göründükten sonra betiği yeniden çalıştırın.

## websiteKey ve websiteURL

Network panelinde `anchor` araması yapın ve şuna benzer bir istek bulun:

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

-   `k=` değerinden sonraki kısım `websiteKey`’dir.
-   `websiteURL` olarak, CAPTCHA’nın göründüğü sayfanın tam adresini yazın (bu isteğin `Referer` değeri genellikle odur).

Sayfa kaynağında `data-sitekey` araması da yapabilirsiniz.

## pageAction (v3)

`pageAction`, sayfanın `grecaptcha.execute(site anahtarı, {action: '...'})` çağrısında geçirdiği `action` değeridir ve sayfadakiyle aynı olmalıdır.

**Yöntem 1: kaynakta arama.** Geliştirici araçlarında Sources panelinde sağ tıklayıp “Search in all files” seçin. Normal v3 için `.execute(`, v3 Enterprise için `.enterprise.execute` aratın ve ardından gelen `action` değerine bakın:

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

Burada `pageAction` değeri `login`’dir.

**Yöntem 2: breakpoint.** Kod obfuscate edilmişse ve arama sonuç vermiyorsa, konsolda `debug(grecaptcha.execute)` komutunu çalıştırın (Enterprise için `debug(grecaptcha.enterprise.execute)`), ardından sayfada doğrulamayı tetikleyen işlemi yapın (örneğin giriş düğmesine tıklayın). Debugger durduğunda sağdaki Scope bölümünde `action` değerini okuyun.

Bir site farklı adımlarda farklı `action` değerleri kullanabilir (örneğin kayıtta önce `signup/submit_email`, sonra `signup/success`); geçmeniz gereken adımın değerini kullanın. Sonraki `action` değerini görmek için F8 ile devam edin.

## Callback fonksiyonu

Selenium gibi araçlarla token’ı tarayıcıda sayfaya girdikten sonra, doğrulamanın tamamlandığını bildirmek için sayfanın callback fonksiyonunu çağırmanız gerekir:

-   Elements panelinde `data-callback` araması yapın; değeri callback fonksiyonunun adıdır, örneğin `data-callback="onSuccess"`.
-   Ya da `grecaptcha.render` araması yapıp parametrelerdeki `callback` değerine bakın.
-   Ya da konsolda `___grecaptcha_cfg.clients` nesnesini inceleyin veya yukarıdaki otomatik bulma betiğini kullanın.

Çağırma yöntemi:

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

Bazı sayfalarda callback fonksiyonu yoktur; bu durumda token’ı `g-recaptcha-response` metin kutusuna yazıp formu doğrudan gönderin. Tüm akış için bkz. [Token ile reCAPTCHA’yı geçme](https://docs.yescaptcha.com/tr/guides/submit-recaptcha-token.md).
