
Lucas Mitchell
Automation Engineer

Meskipun reCAPTCHA secara efektif melindungi konten web, terkadang dapat menghambat aktivitas yang sah, seperti penelitian, analisis data, atau tugas otomatisasi lain yang terkait kepatuhan dan melibatkan interaksi dengan layanan web.
Dalam blog ini, kami akan memandu langkah-langkah yang diperlukan untuk menyelesaikan tantangan reCAPTCHA menggunakan JavaScript. Anda akan belajar cara menyiapkan lingkungan pengembangan Anda, menggunakan Puppeteer untuk berinteraksi dengan halaman web, dan menerapkan solusi untuk reCAPTCHA v2 dan v3. Dengan akhir dari tutorial ini, Anda akan memiliki pemahaman yang kuat tentang cara menyelesaikan tantangan reCAPTCHA secara programatis, memungkinkan Anda mengintegrasikan pengetahuan ini ke dalam proyek Anda sendiri.
reCAPTCHA adalah jenis CAPTCHA yang membantu membedakan pengguna manusia dari bot dengan menyajikan tantangan yang sederhana bagi manusia tetapi sulit bagi mesin. Seiring waktu, reCAPTCHA telah berkembang dari teks yang terdistorsi yang pengguna harus ketik, menjadi teka-teki berbasis gambar yang lebih kompleks, dan sekarang menjadi versi yang hampir tidak terlihat yang berjalan di latar belakang, menilai pengguna berdasarkan perilaku mereka di situs tersebut.
Tukarkan Kode Bonus CapSolver Anda
Tingkatkan anggaran otomatisasi Anda secara instan!
Gunakan kode bonus CAPN saat menambahkan dana ke akun CapSolver Anda untuk mendapatkan bonus tambahan 5% pada setiap recharge — tanpa batas.
Tukarkan sekarang di Dashboard CapSolver
.
reCAPTCHA v2: Versi ini dikenal luas karena kotak centang "Saya bukan robot" dan tantangan berbasis gambar. Ini memerlukan pengguna untuk mengklik gambar atau memverifikasi tindakan tertentu, membuatnya efektif untuk membedakan manusia dari bot.

reCAPTCHA v3: Berbeda dengan v2, reCAPTCHA v3 tidak terlihat dan bekerja di latar belakang. Ini mengevaluasi interaksi pengguna di situs web dan memberikan skor berdasarkan seberapa mungkin pengguna adalah bot. Situs web kemudian dapat menggunakan skor ini untuk menentukan apakah pengguna diperbolehkan atau diblokir.
reCAPTCHA Enterprise: Untuk bisnis dengan kebutuhan keamanan yang lebih tinggi, reCAPTCHA Enterprise muncul. Versi ini memberikan perlindungan lanjutan terhadap ancaman yang canggih, terintegrasi lebih dalam dengan langkah keamanan tingkat perusahaan. Ini mencakup analisis risiko yang ditingkatkan, skoring yang dapat dikustomisasi, dan skalabilitas yang lebih baik, membuatnya cocok untuk organisasi yang menangani data sensitif atau operasi kritis.

Bagi pengembang yang bekerja pada proyek seperti web scraping, pengujian otomatis, atau otomatisasi formulir, menghadapi reCAPTCHA bisa menjadi penghalang besar. Menyelesaikan reCAPTCHA secara manual setiap kali tidak layak dilakukan dalam skenario otomatisasi, yang merupakan saat JavaScript menjadi penting. Dengan memanfaatkan JavaScript, khususnya dengan bantuan alat seperti Puppeteer, pengembang dapat berinteraksi dan menyelesaikan tantangan reCAPTCHA secara programatis.
Kasus Penggunaan Umum:
1. Web Scraping: Mengambil data dari situs web sering kali melibatkan interaksi dengan formulir atau halaman yang dilindungi oleh reCAPTCHA.
2. Pengujian Otomatis: Memastikan kestabilan aplikasi web mungkin memerlukan pengiriman formulir otomatis atau interaksi dengan halaman yang dilindungi CAPTCHA.
3. Otomatisasi Formulir: Mengotomatisasi tugas berulang, seperti mengisi dan mengirim formulir, sering kali membutuhkan melewati CAPTCHA untuk menyelesaikan alur kerja.
Sebelum kita masuk ke kode, ada beberapa prasyarat yang harus Anda siapkan untuk mengikuti tutorial ini secara sukses:
Setelah memenuhi prasyarat ini, Anda siap untuk menyiapkan lingkungan Anda dan mulai menyelesaikan tantangan reCAPTCHA dengan JavaScript dan CapSolver.
/recaptcha/api2/reload?k=6Le-wvkSAAAAAPBMRTvw0Q4Muexq9bi0DJwx_mJ-, di mana nilai setelah k= adalah Kunci Situs yang kita butuhkan. Atau Anda bisa menemukan semua parameter untuk menyelesaikan recapctha melalui ekstensi CapSolverpip install requests
import requests
import time
from DrissionPage import ChromiumPage
# Membuat instance dari ChromiumPage
page = ChromiumPage()
# Mengakses halaman contoh yang memicu reCAPTCHA
page.get("https://www.google.com/recaptcha/api2/demo")
# TODO: Atur konfigurasi Anda
api_key = "kunci API CapSolver Anda" # Kunci API CapSolver Anda
site_key = "6Le-wvkSAAAAAPBMRTvw0Q4Muexq9bi0DJwx_mJ-" # Kunci situs dari situs target Anda
site_url = "https://www.google.com/recaptcha/api2/demo" # URL halaman dari situs target Anda
def capsolver():
payload = {
"clientKey": api_key,
"task": {
"type": 'ReCaptchaV2TaskProxyLess',
"websiteKey": site_key,
"websiteURL": site_url
}
}
# Kirim permintaan ke CapSolver untuk membuat tugas
res = requests.post("https://api.capsolver.com/createTask", json=payload)
resp = res.json()
task_id = resp.get("taskId")
if not task_id:
print("Gagal membuat tugas:", res.text)
return
print(f"Dapatkan taskId: {task_id} / Mendapatkan hasil...")
while True:
time.sleep(3) # Jeda
payload = {"clientKey": api_key, "taskId": task_id}
# Query hasil tugas
res = requests.post("https://api.capsolver.com/getTaskResult", json=payload)
resp = res.json()
status = resp.get("status")
if status == "ready":
return resp.get("solution", {}).get('gRecaptchaResponse')
if status == "failed" or resp.get("errorId"):
print("Menyelesaikan gagal! respons:", res.text)
return
def check():
# Dapatkan solusi reCAPTCHA
token = capsolver()
# Atur nilai respons reCAPTCHA
page.run_js(f'document.getElementById("g-recaptcha-response").value="{token}"')
# Panggil fungsi callback sukses
page.run_js(f'onSuccess("{token}")')
# Kirim formulir
page.ele('x://input[@id="recaptcha-demo-submit"]').click()
if __name__ == '__main__':
check()
Penjelasan:
k= di log permintaan browser, dan ekstrak nilai setelah k= sebagai Kunci Situs.api_key, site_key, dan site_url dalam kode dengan nilai sebenarnya Anda.check(), kode akan secara otomatis mengambil solusi reCAPTCHA dan mengirim formulir.Pastikan Anda mematuhi ketentuan layanan dan regulasi hukum situs web yang Anda interaksi.
Menyelesaikan tantangan reCAPTCHA secara programatis dengan JavaScript menawarkan solusi yang kuat untuk mengotomatisasi tugas yang melibatkan interaksi dengan layanan web yang dilindungi CAPTCHA. Dengan memanfaatkan alat seperti Puppeteer dan CapSolver, Anda dapat melewati tantangan ini secara efektif, mempercepat alur kerja, dan mengintegrasikan solusi otomatis ke dalam proyek Anda.
Seiring berkembangnya reCAPTCHA, memahami versi-versinya dan menggunakan strategi yang sesuai menjadi penting. Baik Anda menangani web scraping, pengujian otomatis, atau otomatisasi formulir, memahami cara mengelola reCAPTCHA secara efisien dapat meningkatkan produktivitas dan akurasi Anda secara signifikan.
Ingat, meskipun otomatisasi dapat meningkatkan efisiensi secara signifikan, penting untuk menghormati ketentuan layanan situs web yang Anda akses dan memastikan kepatuhan terhadap standar hukum. Dengan alat dan pengetahuan yang tepat, Anda dapat mengatasi kompleksitas reCAPTCHA dan fokus pada hal yang benar-benar penting dalam upaya pengembangan Anda.
Penting: Ketika terlibat dalam web scraping, sangat penting untuk mematuhi panduan hukum dan etis. Selalu pastikan Anda memiliki izin untuk mengambil data dari situs target, dan hormati file
robots.txtdan ketentuan layanan situs tersebut. CapSolver secara tegas menentang penggunaan layanan kami untuk aktivitas yang tidak sesuai kepatuhan. Penggunaan alat otomatis untuk melewati CAPTCHA tanpa izin yang tepat dapat menyebabkan konsekuensi hukum. Pastikan aktivitas scraping Anda sesuai dengan semua regulasi dan CAPTCHA yang berlaku untuk menghindari masalah potensial.
Menggunakan alat otomatisasi untuk menyelesaikan reCAPTCHA adalah legal hanya jika dilakukan dengan izin yang tepat dan sesuai dengan ketentuan layanan situs target.
Aktivitas seperti penelitian, pengujian kualitas, atau otomatisasi internal biasanya diterima.
Namun, penggunaan layanan penyelesaian CAPTCHA untuk pengambilan data yang tidak sah, spam, atau menghindari kontrol keamanan dilarang keras dan dapat menyebabkan konsekuensi hukum.
Selalu pastikan otomatisasi Anda sesuai dengan panduan etis dan hukum.
reCAPTCHA v2, v3, dan Enterprise bergantung pada faktor-faktor lebih dari sekadar token sederhana, termasuk:
Permintaan HTTP biasa tidak dapat meniru lingkungan ini.
Puppeteer (atau alat otomatisasi browser serupa) menciptakan konteks browser yang realistis, memungkinkan penanganan tantangan reCAPTCHA secara sukses dan andal.
Banyak faktor yang bisa mencegah bypass reCAPTCHA berfungsi dengan benar:
Penyebab umum:
onSuccess() tidak dipicu)Pemeriksaan yang direkomendasikan:
site_key dan site_url Anda sesuai dengan nilai sebenarnya dari halaman.g-recaptcha-response secara benar.ReCaptchaEnterpriseTaskProxyLess.Mengalami kesalahan "reCAPTCHA Kunci Situs Tidak Valid" atau "token reCAPTCHA tidak valid"? Temukan penyebab umum, perbaikan langkah demi langkah, dan tips pemecahan masalah untuk menyelesaikan masalah verifikasi reCAPTCHA gagal. Pelajari cara memperbaiki verifikasi reCAPTCHA gagal, silakan coba lagi.

Pelajari cara menyelesaikan reCAPTCHA v2 dengan Python dan API. Panduan lengkap ini mencakup metode Proxy dan Proxyless dengan kode yang siap produksi untuk otomatisasi.
