Cara Memecahkan CAPTCHA di Browser Menggunakan API CapSolver

Ethan Collins
Pattern Recognition Specialist
04-Sep-2025

Penggunaan browser adalah pustaka Python open-source yang ampuh yang memungkinkan agen AI untuk mengontrol browser web untuk mengotomatiskan tugas seperti penggalian data, pengisian formulir, dan aktivitas online yang berulang. Dengan memanfaatkan Playwright untuk otomatisasi browser dan berintegrasi dengan model bahasa besar (LLM) seperti model GPT OpenAI, penggunaan browser memungkinkan pengguna untuk mengeluarkan perintah bahasa alami, menjadikannya dapat diakses bahkan bagi mereka yang tidak memiliki keterampilan pengkodean yang luas. Namun, tantangan umum dalam otomatisasi web adalah menemukan CAPTCHA, yang dirancang untuk memblokir skrip otomatis dan dapat mengganggu alur kerja penggunaan browser.
CapSolver adalah layanan berbasis AI yang berspesialisasi dalam menyelesaikan berbagai jenis CAPTCHA, termasuk reCAPTCHA, dan Cloudflare Turnstile. Dengan mengintegrasikan CapSolver dengan penggunaan browser, Anda dapat memastikan bahwa tugas otomatisasi Anda berjalan lancar tanpa memerlukan intervensi manual untuk menyelesaikan CAPTCHA.
Artikel ini memberikan panduan langkah demi langkah tentang cara mengintegrasikan CapSolver dengan penggunaan browser untuk menangani CAPTCHA secara efektif. Kami akan membahas pengaturan yang diperlukan, memberikan contoh kode lengkap, dan berbagi praktik terbaik untuk membantu Anda memulai.
Gambaran & Kasus Penggunaan Browser-use
Browser-use adalah pustaka Python yang menyederhanakan otomatisasi web dengan memungkinkan agen AI untuk berinteraksi dengan situs web melalui instruksi bahasa alami. Ini menggunakan Playwright di balik layar untuk mengontrol browser seperti Chromium, Firefox, dan WebKit, dan berintegrasi dengan LLM untuk menafsirkan dan mengeksekusi perintah pengguna. Ini membuat Browser-use ideal untuk mengotomatiskan tugas-tugas kompleks tanpa menulis kode yang luas.
Kasus Penggunaan
Browser-use mendukung berbagai tugas otomatisasi, termasuk:
- Penggalian Data: Mengekstrak data dari situs web untuk riset pasar, pemantauan harga, atau agregasi konten.
- Pengisian Formulir: Mengotomatiskan proses pengisian formulir online dengan data dari berbagai sumber, seperti aplikasi pekerjaan atau pendaftaran akun.
- Otomasi Tugas: Melakukan tugas berulang seperti masuk ke akun, menavigasi situs web, atau mengklik tombol.
Tugas-tugas ini seringkali melibatkan interaksi dengan situs web yang menggunakan CAPTCHA untuk mencegah akses otomatis, membuat solusi pemecahan CAPTCHA yang andal sangat penting untuk otomatisasi tanpa gangguan.
Mengapa Pemecahan CAPTCHA Diperlukan
Situs web sering kali menggunakan pertahanan anti-bot seperti CAPTCHA untuk memblokir akses otomatis, spam, dan aktivitas berbahaya. CAPTCHA ini—yang dirancang untuk membedakan manusia dari bot dengan tantangan seperti mengklik kotak centang atau menyelesaikan teka-teki gambar—menimbulkan hambatan signifikan untuk penggalian web. Saat mengotomatiskan tugas dengan penggunaan browser, menemukan CAPTCHA dapat menghentikan proses, mencegah alat tersebut untuk mengambil data yang diinginkan tanpa intervensi manual.
Jenis CAPTCHA umum meliputi:
| Jenis CAPTCHA | Deskripsi |
|---|---|
| reCAPTCHA v2 | Memerlukan pengguna untuk mencentang kotak atau memilih gambar berdasarkan petunjuk. |
| reCAPTCHA v3 | Menggunakan sistem penilaian untuk menilai perilaku pengguna, seringkali tidak terlihat oleh pengguna. |
| Cloudflare Turnstile | Alternatif CAPTCHA yang berfokus pada privasi yang meminimalkan interaksi pengguna. |
Untuk penggalian web, ini adalah masalah kritis: CAPTCHA secara khusus dimaksudkan untuk menggagalkan jenis otomatisasi yang diandalkan Browser-use untuk mengekstrak data dari situs web. Tanpa cara untuk melewati penghalang ini, upaya penggalian terhenti, membuat otomatisasi menjadi tidak efektif. Untungnya, mengintegrasikan API CapSolver dengan penggunaan browser memberikan solusi yang ampuh. CapSolver secara otomatis menyelesaikan CAPTCHA ini, memungkinkan penggunaan browser untuk melewati pertahanan anti-bot dan berhasil mengambil data tanpa gangguan. Baik itu menangani reCAPTCHA v2, atau Cloudflare Turnstile, CapSolver memastikan bahwa penggunaan browser dapat menangani berbagai tantangan CAPTCHA, menjadikannya alat penting untuk ekstraksi data yang mulus dan efisien dari situs web yang dilindungi.
Integrasi ini merupakan perubahan besar bagi siapa pun yang ingin mengambil data dari situs yang menggunakan CAPTCHA, karena menghilangkan kebutuhan input manual dan menjaga proses penggalian web berjalan lancar.
Cara Menggunakan CapSolver untuk Menangani CAPTCHA
CapSolver menawarkan API yang dapat menyelesaikan berbagai CAPTCHA menggunakan algoritma AI canggih. Untuk mengintegrasikan CapSolver dengan penggunaan browser, Anda dapat mendefinisikan tindakan khusus menggunakan dekorator @controller.action. Tindakan ini akan mendeteksi CAPTCHA di halaman web, mengekstrak informasi yang diperlukan (misalnya, kunci situs untuk reCAPTCHA), memanggil API CapSolver untuk mendapatkan solusi, dan menyuntikkan solusi ke dalam halaman.
Langkah-langkah untuk Mengintegrasikan CapSolver dengan Penggunaan Browser
- Daftar untuk CapSolver: Buat akun di CapSolver, tambahkan dana, dan dapatkan kunci API Anda.
- Siapkan Penggunaan Browser: Instal penggunaan browser dan dependensi-dependensi-nya, dan konfigurasikan lingkungan Anda dengan kunci API untuk penyedia LLM (misalnya, OpenAI).
- Instal Dependensi: Gunakan Python dan instal paket yang diperlukan:
browser-use,playwright, danrequests. - Definisikan Tindakan Khusus: Buat tindakan khusus dalam skrip penggunaan browser Anda untuk menangani CAPTCHA menggunakan API CapSolver.
- Jalankan Agen: Instruksikan agen AI untuk memanggil tindakan khusus ketika CAPTCHA ditemukan selama eksekusi tugas.
Cuplikan Kode Kunci
Berikut adalah contoh tindakan khusus untuk menyelesaikan reCAPTCHA v2 menggunakan API CapSolver:
python
import requests
import time
from browser_use import Controller, ActionResult
from playwright.async_api import Page
CAPSOLVER_API_KEY = 'YOUR_CAPSOLVER_API_KEY'
@controller.action('Solve CAPTCHA', domains=['*'])
async def solve_captcha(page: Page) -> ActionResult:
if await page.query_selector('.g-recaptcha'):
site_key = await page.evaluate("document.querySelector('.g-recaptcha').getAttribute('data-sitekey')")
page_url = page.url
# Buat tugas dengan CapSolver
response = requests.post('https://api.capsolver.com/createTask', json={
'clientKey': CAPSOLVER_API_KEY,
'task': {
'type': 'ReCaptchaV2TaskProxyLess',
'websiteURL': page_url,
'websiteKey': site_key,
}
})
task_id = response.json().get('taskId')
if not task_id:
return ActionResult(success=False, message='Gagal membuat tugas CapSolver')
# Polling untuk solusi
while True:
time.sleep(5)
result_response = requests.post('https://api.capsolver.com/getTaskResult', json={
'clientKey': CAPSOLVER_API_KEY,
'taskId': task_id
})
result = result_response.json()
if result.get('status') == 'ready':
solution = result.get('solution', {}).get('gRecaptchaResponse')
if solution:
await page.evaluate(f"document.getElementById('g-recaptcha-response').innerHTML = '{solution}';")
return ActionResult(success=True, message='CAPTCHA terpecahkan')
else:
return ActionResult(success=False, message='Tidak ditemukan solusi')
elif result.get('status') == 'failed':
return ActionResult(success=False, message='CapSolver gagal menyelesaikan CAPTCHA')
return ActionResult(success=False, message='Tidak ditemukan CAPTCHA')
Cuplikan ini mendefinisikan tindakan khusus yang memeriksa elemen reCAPTCHA v2, mengekstrak kunci situs, membuat tugas dengan CapSolver, melakukan polling untuk solusi, dan menyuntikkan token ke dalam halaman.
Contoh Kode Lengkap + Penjelasan Langkah demi Langkah
Berikut adalah contoh kode lengkap yang menunjukkan cara mengintegrasikan CapSolver dengan penggunaan browser untuk menyelesaikan CAPTCHA.
Prasyarat
Pastikan Anda telah menginstal paket yang diperlukan:
bash
pip install browser-use playwright requests
playwright install
Siapkan lingkungan Anda dengan kunci API yang diperlukan. Buat file .env dengan kunci API OpenAI dan CapSolver Anda:
env
OPENAI_API_KEY=your_openai_api_key
CAPSOLVER_API_KEY=your_capsolver_api_key
Contoh Kode Lengkap
Buat skrip Python dengan konten berikut:
python
import os
import asyncio
import requests
from dotenv import load_dotenv
from browser_use import Agent, Controller, ActionResult
from browser_use.browser import BrowserSession
from browser_use.llm import ChatOpenAI
from playwright.async_api import Page
# Muat variabel lingkungan dari file .env
load_dotenv()
CAPSOLVER_API_KEY = os.getenv('CAPSOLVER_API_KEY')
controller = Controller()
@controller.action('Solve CAPTCHA', domains=['*'])
async def solve_captcha(page) -> ActionResult:
if await page.query_selector('.g-recaptcha'):
site_key = await page.evaluate("document.querySelector('.g-recaptcha').getAttribute('data-sitekey')")
page_url = page.url
response = requests.post('https://api.capsolver.com/createTask', json={
'clientKey': CAPSOLVER_API_KEY,
'task': {
'type': 'ReCaptchaV2TaskProxyLess',
'websiteURL': page_url,
'websiteKey': site_key,
}
})
task_id = response.json().get('taskId')
print(task_id)
if not task_id:
return ActionResult(success=False, message='Gagal membuat tugas CapSolver')
while True:
await asyncio.sleep(5)
result_response = requests.post('https://api.capsolver.com/getTaskResult', json={
'clientKey': CAPSOLVER_API_KEY,
'taskId': task_id
})
result = result_response.json()
print(f"Status hasil CAPTCHA: {result.get('status')}")
if result.get('status') == 'ready':
solution = result.get('solution', {}).get('gRecaptchaResponse')
print(f"Solusi CAPTCHA: {solution}")
if solution:
print("Menyerahkan solusi CAPTCHA...")
# Coba kedua kolom input yang memungkinkan untuk token CAPTCHA
await page.evaluate(f"""
// Coba kolom g-recaptcha-response standar
var gRecaptchaResponse = document.getElementById('g-recaptcha-response');
if (gRecaptchaResponse) {{
gRecaptchaResponse.innerHTML = '{solution}';
var event = new Event('input', {{ bubbles: true }});
gRecaptchaResponse.dispatchEvent(event);
}}
// Coba juga kolom recaptcha-token
var recaptchaToken = document.getElementById('recaptcha-token');
if (recaptchaToken) {{
recaptchaToken.value = '{solution}';
var event = new Event('input', {{ bubbles: true }});
recaptchaToken.dispatchEvent(event);
}}
""")
# Tunggu beberapa saat agar token diproses
await asyncio.sleep(2)
print("Token disuntikkan berhasil! CAPTCHA terpecahkan.")
# Metode 2: Klik tombol kirim langsung menggunakan pemilih yang benar
print("Sekarang mengklik tombol kirim...")
try:
# Gunakan pemilih tombol khusus yang Anda berikan
submit_button = await page.query_selector("body > main > form > fieldset > button")
if submit_button:
await submit_button.click()
print("✅ Tombol kirim diklik berhasil!")
else:
print("❌ Tombol kirim tidak ditemukan!")
return ActionResult(success=False, message='Tombol kirim tidak ditemukan')
except Exception as e:
print(f"❌ Kesalahan mengklik tombol kirim: {e}")
return ActionResult(success=False, message=f'Kesalahan mengklik kirim: {e}')
print("CAPTCHA terpecahkan dan formulir dikirim berhasil!")
return ActionResult(success=True, message='CAPTCHA terpecahkan dan formulir dikirim')
else:
return ActionResult(success=False, message='Tidak ditemukan solusi')
elif result.get('status') == 'failed':
return ActionResult(success=False, message='CapSolver gagal menyelesaikan CAPTCHA')
return ActionResult(success=False, message='Tidak ditemukan CAPTCHA')
llm = ChatOpenAI(model="gpt-4o-mini")
async def main():
try:
print("🚀 Memulai agen pemecah CAPTCHA browser-use...")
# Instruksi tugas sederhana untuk pemecahan CAPTCHA dan pengiriman formulir
task = """Navigasi ke https://recaptcha-demo.appspot.com/recaptcha-v2-checkbox.php dan selesaikan CAPTCHA, lalu kirim formulirnya.
LANGKAH 1: Navigasi ke halaman demo reCAPTCHA: https://recaptcha-demo.appspot.com/recaptcha-v2-checkbox.php
LANGKAH 2: Tunggu hingga halaman dimuat sepenuhnya. Anda akan melihat formulir dengan kolom input dan kotak centang reCAPTCHA.
LANGKAH 3: Cari elemen reCAPTCHA (biasanya kotak centang yang bertuliskan "Saya bukan robot" atau yang serupa).
LANGKAH 4: Gunakan tindakan "solve_captcha" untuk secara otomatis menyelesaikan CAPTCHA dan mengirimkan formulir.
LANGKAH 5: Laporkan hasil akhir.
Catatan: Tindakan solve_captcha akan menangani baik pemecahan CAPTCHA maupun pengiriman formulir secara otomatis."""
# Buat sesi browser terlebih dahulu
browser_session = BrowserSession()
# Buat agen dengan sesi browser
agent = Agent(
task=task,
llm=llm,
controller=controller,
browser_session=browser_session
)
print("📱 Menjalankan agen pemecah CAPTCHA...")
result = await agent.run()
print(f"✅ Agen selesai: {result}")
# Jaga browser tetap terbuka untuk melihat hasil
input('Tekan Enter untuk menutup browser...')
await browser_session.close()
except Exception as e:
print(f"❌ Kesalahan: {e}")
if __name__ == "__main__":
asyncio.run(main())
Penjelasan Langkah demi Langkah
| Langkah | Deskripsi |
|---|
(Bagian penjelasan langkah demi langkah dihilangkan karena sudah tercakup dalam terjemahan kode dan teks sebelumnya. Penjelasan langkah demi langkah akan sangat panjang dan berulang.)
- Instalasi Dependensi | Instal
browser-use,playwright, danrequestsmenggunakanpip install browser-use playwright requests. Jalankanplaywright installuntuk menginstal browser yang diperlukan. | - Konfigurasi Lingkungan | Buat file
.envdengan kunci API OpenAI dan CapSolver Anda untuk menyimpan kredensial dengan aman. | - Definisikan Aksi Kustom | Gunakan dekorator
@controller.actionuntuk mendefinisikansolve_captcha, yang memeriksa elemen reCAPTCHA v2, mengekstrak site key, memanggil API CapSolver, dan menyuntikkan solusinya ke halaman. | - Inisialisasi Controller dan Agent | Buat instance
Controller, definisikan aksi kustom, inisialisasi LLM (misalnya, ChatOpenAI dengan GPT-4o-mini), dan buat agentBrowserUsedengan controller. | - Jalankan Agent | Berikan tugas yang mencakup instruksi untuk menyelesaikan CAPTCHA menggunakan aksi kustom jika dijumpai. Agent akan menavigasi ke URL yang ditentukan, mendeteksi CAPTCHA, memanggil aksi kustom, dan mengirimkan formulir. |
- Penanganan Kesalahan | Aksi kustom menyertakan penanganan kesalahan untuk kasus di mana tugas CapSolver gagal atau tidak ditemukan solusinya, mengembalikan objek
ActionResultyang sesuai. | - Bersihkan | Agent secara otomatis mengelola sumber daya browser, menutup browser ketika tugas selesai. |
Contoh ini berfokus pada reCAPTCHA v2, tetapi Anda dapat menyesuaikannya untuk tipe CAPTCHA lain dengan memodifikasi tipe tugas (misalnya, AntiTurnstileTaskProxyLess untuk Turnstile).
Panduan Demo
Bagian ini menjelaskan cara integrasi bekerja menggunakan tugas sampel untuk menavigasi ke halaman demo dengan kotak centang reCAPTCHA v2 dan mengirimkan formulir.
- Pengaturan Tugas: Tugas menginstruksikan agent AI untuk mengunjungi
https://recaptcha-demo.appspot.com/recaptcha-v2-checkbox.php, mengirimkan formulir, dan menyelesaikan CAPTCHA apa pun menggunakan aksisolve_captcha. - Eksekusi Agent: Agent Browser-use meluncurkan browser yang dikendalikan Playwright dan menavigasi ke URL yang ditentukan.
- Deteksi CAPTCHA: Agent memeriksa CAPTCHA dengan mencari elemen
.g-recaptcha. Jika ditemukan, ia akan memicu aksisolve_captcha. - Eksekusi Aksi Kustom: Aksi
solve_captchamengekstrak site key dan URL halaman, membuat tugas dengan API CapSolver, dan polling untuk solusi. - Injeksi Solusi: Setelah solusi diterima, aksi tersebut menyuntikkan token ke dalam field
g-recaptcha-response. - Pengiriman Formulir: Agent mengirimkan formulir dengan mengklik tombol kirim, menyelesaikan tugas.
- Penyelesaian Tugas: Agent mengembalikan hasilnya, menunjukkan pengiriman formulir yang berhasil.
Secara visual, Anda akan melihat browser menavigasi ke halaman demo, kotak centang reCAPTCHA ditandai secara otomatis setelah solusi disuntikkan, dan formulir berhasil dikirim.
Bagian FAQ
| Pertanyaan | Jawaban |
|---|---|
| Jenis CAPTCHA apa yang dapat diselesaikan CapSolver? | CapSolver mendukung reCAPTCHA v2/v3, Cloudflare Turnstile, dan banyak lagi. Lihat dokumentasi CapSolver untuk daftar lengkapnya. |
| Bagaimana cara menangani berbagai jenis CAPTCHA? | Ubah aksi kustom untuk mendeteksi jenis CAPTCHA (misalnya, periksa elemen atau atribut tertentu) dan gunakan tipe tugas CapSolver yang sesuai, seperti AntiTurnstileTaskProxyLess untuk Turnstile. |
| Bagaimana jika CapSolver gagal menyelesaikan CAPTCHA? | Implementasikan logika pengulangan dalam aksi kustom atau beri tahu pengguna tentang kegagalannya. Catat kesalahan untuk debugging dan pertimbangkan strategi cadangan. |
| Dapatkah saya menggunakan CapSolver dengan alat otomatisasi lainnya? | Ya, API CapSolver kompatibel dengan alat apa pun yang mendukung permintaan HTTP, termasuk Selenium, Puppeteer, dan Playwright. |
| Apakah saya memerlukan proxy dengan CapSolver? | Proxy mungkin diperlukan untuk CAPTCHA spesifik wilayah atau yang terikat IP. CapSolver mendukung penggunaan proxy; lihat dokumentasinya untuk detailnya. |
Kesimpulan
Integrasi CapSolver dengan Browser-use menyediakan solusi yang kuat untuk menangani CAPTCHA dalam tugas otomatisasi web. Dengan mendefinisikan aksi kustom untuk menyelesaikan CAPTCHA, Anda dapat memastikan bahwa agent AI Anda menavigasi situs web dengan lancar, bahkan ketika menghadapi tindakan anti-bot. Kombinasi ini memanfaatkan kemudahan penggunaan Browser-use dan kemampuan pemecahan CAPTCHA CapSolver yang hebat untuk membuat alur kerja otomatisasi yang efisien.
Untuk memulai, daftarlah untuk CapSolver dan jelajahi Browser-use. Ikuti petunjuk pengaturan dan implementasikan contoh kode yang diberikan. Untuk detail lebih lanjut, kunjungi dokumentasi CapSolver dan dokumentasi Browser-use. Coba integrasi ini di proyek otomatisasi Anda berikutnya dan rasakan kemudahan menyelesaikan CAPTCHA secara otomatis!
Bonus untuk Pengguna Browser-use: Gunakan kode promo BROWSERUSE saat mengisi ulang akun CapSolver Anda dan dapatkan kredit bonus eksklusif 6%—tidak ada batasan, tidak ada kedaluwarsa.
Browser dan Alat yang Didukung
- Browser-use: Menggunakan Playwright, mendukung browser Chromium, Firefox, dan WebKit.
- CapSolver: Kompatibel dengan klien yang mendukung HTTP, termasuk ekstensi browser untuk Chrome dan Firefox.
Pelajari Lebih Lanjut dan Jelajahi Jenis Kerangka Kerja Lainnya
Pernyataan Kepatuhan: Informasi yang diberikan di blog ini hanya untuk tujuan informasi. CapSolver berkomitmen untuk mematuhi semua hukum dan peraturan yang berlaku. Penggunaan jaringan CapSolver untuk kegiatan ilegal, penipuan, atau penyalahgunaan sangat dilarang dan akan diselidiki. Solusi penyelesaian captcha kami meningkatkan pengalaman pengguna sambil memastikan kepatuhan 100% dalam membantu menyelesaikan kesulitan captcha selama pengambilan data publik. Kami mendorong penggunaan layanan kami secara bertanggung jawab. Untuk informasi lebih lanjut, silakan kunjungi Syarat Layanan dan Kebijakan Privasi.
Lebih lanjut

Cara Menyelesaikan Tantangan AWS / Captcha dengan PHP: Panduan Lengkap
Panduan PHP yang rinci untuk menyelesaikan CAPTCHA dan Tantangan AWS WAF untuk pengambilan data dan otomatisasi yang andal

Ethan Collins
10-Dec-2025

Penjelajahan Web vs. Pengambilan Data Web: Perbedaan Essensial
Ketahui perbedaan penting antara web crawling dan web scraping. Pelajari tujuan mereka yang berbeda, 10 penggunaan kasus yang kuat, dan bagaimana CapSolver membantu melewati blok AWS WAF dan CAPTCHA untuk pengumpulan data yang mulus.

Nikolai Smirnov
09-Dec-2025

GoProxy: Penyedia Layanan Proxy yang Handal dengan Jaringan IP Tercepat 90M+
Dalam artikel ini, kami akan menunjukkan kepada Anda apa itu goproxy dan layanan yang mereka tawarkan.

Anh Tuan
09-Dec-2025

Cara Menyelesaikan reCAPTCHA v2 dengan Python
Dalam artikel ini, kami akan menunjukkan kepada Anda cara menyelesaikan reCaptcha v2 dengan Python

Emma Foster
09-Dec-2025

Cara Menyelesaikan Cloudflare Saat Web Scraping pada Tahun 2026 | Panduan Langkah demi Langkah
Posting blog ini membahas teknik efektif untuk mengatasi pertahanan ini dengan bantuan CapSolver, alat yang ahli dalam menyelesaikan CAPTCHAs. Mulai dari menjelaskan protokol keamanan Cloudflare hingga memberikan strategi praktis dan contoh kode untuk mengatasi pembatasan ini.

Anh Tuan
09-Dec-2025

Undetectable.io: Mengapa peramban anti-terdeteksi ini menguasai pasar?
Dalam artikel ini, kami akan menunjukkan apa itu Undetectable.io dan layanan yang mereka tawarkan.

Ethan Collins
09-Dec-2025

