CAPSOLVER
Blog
Cách tìm hàm gọi lại của reCaptcha

Cách tìm hàm callback của reCaptcha

Logo of CapSolver

Anh Tuan

Data Science Expert

23-Sep-2025

⚠️ Mỗi trang web đều khác nhau, nếu không có phương pháp nào sau đây giải quyết được vấn đề.
Vui lòng tự nghiên cứu thêm.

Sau khi lấy được giá trị gRecaptchaResponse đã được nhận dạng thành công thông qua API, nếu bạn đang sử dụng phần mềm mô phỏng, chẳng hạn như selenium, bạn cần thực thi một hàm hồi gọi để thông báo cho trang web rằng chúng ta đã nhận dạng thành công, vì vậy hãy cùng tìm hiểu cách tìm hàm này:

Lưu ý: Trong một số trường hợp, thực sự không có hàm hồi gọi. Trong trường hợp này, bạn có thể trực tiếp gán giá trị cho vùng chứa g-recaptcha-response và gửi biểu mẫu.

Phương pháp 1: Tìm kiếm thông qua phần tử bảng điều khiển

Mở trang được hiển thị, nhấn F12 để vào bảng điều khiển, nhấn Ctrl+F trong Elements để tìm kiếm, từ khóa tìm kiếm: data-callback

Như bạn thấy, hàm hồi gọi của chúng ta ở đây là onSuccess, và sau đó chúng ta chỉ cần thực thi hàm này trong selenium

Nếu bạn không tìm thấy nó, nó có thể bị nhầm lẫn hoặc các trường hợp khác, bạn có thể thử các phương pháp khác

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

Phương pháp 2: Áp dụng cho chuỗi recaptcha-v3

Tương tự như phương pháp 1, tìm kiếm từ khóa: grecaptcha.render

Tìm mã tương tự, trong đó callback là hàm hồi gọi

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

Phương pháp 3: Tìm kiếm thông qua bảng điều khiển

Nhấn F12 để vào bảng điều khiển, nhập ___grecaptcha_cfg.clients, nếu báo lỗi, trang web chưa tải reCaptcha

Thông thường có nhiều nút, chúng ta cần chú ý đến sự khác biệt, ở đây onSuccess là hàm hồi gọi chúng ta đang tìm kiếm

Phương pháp 4: Tìm kiếm bằng hàm tìm kiếm tự động

Nếu khó thực hiện các phương pháp trên, bạn có thể thử tìm bằng cách định nghĩa một hàm tìm kiếm tự động
Nhấn F12 để vào bảng điều khiển và nhập hàm tự định nghĩa sau 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()

Sau đó thực thi hàm này findRecaptchaClients() trong console để tìm hàm tương ứng

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

Cách gọi hàm vô danh reCaptcha?

Lưu ý: Đôi khi hàm hồi gọi được tìm thấy là tên hàm, chẳng hạn như onSuccess được đề cập ở trên, trực tiếp onSuccess(gRecaptchaResponse) khi gọi, nhưng đôi khi nó được tìm thấy là một hàm vô danh, có nghĩa là không có tên hàm, chẳng hạn như sau:

Đối với loại hàm vô danh này, chúng ta chỉ cần thực thi nó theo đường dẫn đầy đủ mà chúng ta vừa tìm thấy, và hiệu ứng là như nhau, ví dụ:

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

Hãy lấy một ví dụ, lấy trang web này làm ví dụ, nhập ___grecaptcha_cfg.clients để mở rộng tìm kiếm, bạn có thể thấy hàm hồi gọi ở đây promise-callback là một hàm vô danh f(token)

Chúng ta có thể nhấp chuột phải vào nó và nhấp vào Copy property path để sao chép đường dẫn nút này

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

Thêm ___grecaptcha_cfg.clients vừa nhập vào, và bạn có thể nhận được đường dẫn đầy đủ của hàm này

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

Cuối cùng, nó giống như phương pháp thực thi được đề cập ở trên, chỉ cần thực thi nó như một hàm bình thường

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

Nhóm Capsolver 💜

Copy

Tuyên bố Tuân thủ: Thông tin được cung cấp trên blog này chỉ mang tính chất tham khảo. CapSolver cam kết tuân thủ tất cả các luật và quy định hiện hành. Việc sử dụng mạng lưới CapSolver cho các hoạt động bất hợp pháp, gian lận hoặc lạm dụng là hoàn toàn bị cấm và sẽ bị điều tra. Các giải pháp giải captcha của chúng tôi nâng cao trải nghiệm người dùng trong khi đảm bảo tuân thủ 100% trong việc giúp giải quyết các khó khăn về captcha trong quá trình thu thập dữ liệu công khai. Chúng tôi khuyến khích việc sử dụng dịch vụ của chúng tôi một cách có trách nhiệm. Để biết thêm thông tin, vui lòng truy cập Điều khoản Dịch vụ và Chính sách Quyền riêng tư.

Thêm

Cách giải reCaptcha v2 bằng Selenium [Python] với Capsolver Extension
Cách giải reCAPTCHA V2 bằng Selenium [Python] với Extension CapSolver

Học cách giải reCaptcha v2 một cách mượt mà với Selenium Python và Phần mở rộng Capsolver, một hướng dẫn chi tiết về việc thiết lập và tự động hóa các giải pháp captcha một cách hiệu quả.

reCAPTCHA
Logo of CapSolver

Anh Tuan

05-Nov-2025

Tiện ích mở rộng Capsolver - Giải reCAPTCHA trong trình duyệt của bạn
Tiện ích CapSolver - Giải reCAPTCHA trong Trình duyệt của bạn

Giải reCaptcha v2 / v3 / ẩn / doanh nghiệp trên bất kỳ trang web nào mà không gặp khó khăn bằng Phần mở rộng Giải Captcha Capsolver

reCAPTCHA
Logo of CapSolver

Anh Tuan

27-Oct-2025

bot duyệt web giải captcha
Cách xử lý reCAPTCHA trong web scraping bằng Python

Học cách giải reCAPTCHA v2 và v3 trong web scraping bằng Python và Capsolver. Hướng dẫn từng bước, tùy chọn proxy và ví dụ mã nguồn để tự động hóa mượt mà.

reCAPTCHA
Logo of CapSolver

Anh Tuan

24-Oct-2025

Tự động hóa SEO dựa trên Trí tuệ nhân tạo: Làm thế nào để giải quyết Captcha để thu thập dữ liệu kết quả tìm kiếm thông minh hơn
Tự động hóa SEO bằng Công nghệ AI: Làm thế nào để giải Captcha để thu thập dữ liệu SERP thông minh hơn

Khám phá cách Tự động hóa SEO dựa trên AI vượt qua các thách thức CAPTCHA để thu thập dữ liệu SERP thông minh hơn và tìm hiểu về các giải pháp reCAPTCHA v2/v3

reCAPTCHA
Logo of CapSolver

Anh Tuan

23-Oct-2025

Hướng dẫn giải reCAPTCHA v2
Cách Giải reCAPTCHA v2: Hướng Dẫn Giải reCAPTCHA v2

Học cách tự động hóa việc giải reCAPTCHA v2 của Google bằng CapSolver. Khám phá tích hợp API và SDK, hướng dẫn từng bước, và mã khuyến mãi để tối ưu hóa việc giải captcha cho các dự án quét web, tự động hóa và phát triển phần mềm.

reCAPTCHA
Logo of CapSolver

Anh Tuan

22-Oct-2025

Công cụ Giải Recaptcha
Công cụ giải reCAPTCHA Nhận diện tự động và phương pháp giải

Học cách nhận diện và giải quyết tự động các thách thức reCAPTCHA v2, v3, không hiển thị và doanh nghiệp bằng công nghệ AI và OCR tiên tiến

reCAPTCHA
Logo of CapSolver

Anh Tuan

22-Oct-2025