Cara mengintegrasikan Camoufox dengan CapSolver untuk menyelesaikan CAPTCHA yang mulus

Ethan Collins
Pattern Recognition Specialist
16-Dec-2025
TL;DR: Gunakan Camoufox untuk menghindari pemindaian fingerprint browser dan CapSolver untuk menyelesaikan CAPTCHA secara otomatis seperti Cloudflare Turnstile dan reCAPTCHA v2/v3. Bersama-sama, mereka memungkinkan otomatisasi web yang stabil dan mirip manusia dengan deteksi minimal dan tingkat keberhasilan tinggi.

Pendahuluan
Otomatisasi web telah menjadi penting untuk pengumpulan data, pengujian, dan berbagai operasi bisnis. Namun, situs web modern menerapkan langkah anti-bot yang canggih dan CAPTCHA yang dapat menghentikan bahkan skrip otomatisasi yang dirancang dengan hati-hati.
Kombinasi Camoufox dan CapSolver memberikan solusi kuat untuk tantangan ini:
- Camoufox: Browser anti-detect open-source yang dibangun berdasarkan Firefox yang menghindari deteksi bot melalui pemalsuan fingerprint yang canggih
- CapSolver: Layanan penyelesaian CAPTCHA yang didukung AI yang menangani Cloudflare Turnstile, reCAPTCHA, dan lainnya
Bersama, alat-alat ini memungkinkan otomatisasi web yang mulus yang melewati deteksi fingerprint dan tantangan CAPTCHA.
Tujuan Integrasi
Panduan ini akan membantu Anda mencapai tiga tujuan inti:
- Menghindari Deteksi Bot - Gunakan injeksi fingerprint Camoufox untuk terlihat sebagai browser yang sah
- Menyelesaikan CAPTCHA Secara Otomatis - Integrasikan API CapSolver untuk menangani tantangan CAPTCHA tanpa intervensi manual
- Memelihara Perilaku Mirip Manusia - Gabungkan gerakan kursor yang dihumanisasi dengan penyelesaian CAPTCHA yang cerdas
Apa itu Camoufox?
Camoufox adalah versi kustom yang stealthy dan minimalis dari Firefox yang dirancang khusus untuk scraping web dan otomatisasi. Berbeda dengan solusi anti-detect lain yang bergantung pada injeksi JavaScript (yang dapat terdeteksi), Camoufox menerapkan pemalsuan fingerprint pada tingkat C++ di dalam browser itu sendiri.
Fitur Utama
- Injeksi Fingerprint - Memalsukan properti navigator, dimensi layar, WebGL, WebRTC, font, dan lainnya pada tingkat asli
- Gerakan Kursor Mirip Manusia - Algoritma humanisasi kursor yang terintegrasi untuk interaksi yang realistis
- Integrasi BrowserForge - Menghasilkan fingerprint yang meniru distribusi perangkat dunia nyata
- Dukungan GeoIP - Menghitung zona waktu, lokal, dan geolokasi secara otomatis berdasarkan IP proxy
- Dukungan Add-on Firefox - Memuat ekstensi kustom termasuk pemblokir iklan
Instalasi
bash
# Instal paket Python
pip install -U camoufox[geoip]
# Unduh browser Camoufox
camoufox fetch
Penggunaan Dasar
python
from camoufox.sync_api import Camoufox
with Camoufox(humanize=True) as browser:
page = browser.new_page()
page.goto("https://example.com")
Apa itu CapSolver?
CapSolver adalah layanan penyelesaian CAPTCHA otomatis yang didukung AI yang mendukung berbagai jenis CAPTCHA. Layanan ini menyediakan API sederhana yang memungkinkan Anda mengirim tantangan CAPTCHA dan menerima solusi dalam hitungan detik.
Jenis CAPTCHA yang Didukung
- Cloudflare Turnstile - Tantangan anti-bot yang paling umum saat ini
- reCAPTCHA v2 - Versi berbasis gambar dan tidak terlihat
- reCAPTCHA v3 - Verifikasi berbasis skor
- AWS WAF - CAPTCHA dari Amazon Web Services
- Dan banyak lainnya...
Mulai dengan CapSolver
- Daftar di capsolver.com
- Tambahkan dana ke akun Anda
- Dapatkan kunci API Anda dari dashboard
Bonus: Gunakan kode
CAMOUFOXsaat mendaftar untuk mendapatkan kredit bonus!
Tantangan Sebelum Integrasi
Sebelum menggabungkan Camoufox dengan CapSolver, otomatisasi web menghadapi beberapa masalah:
| Tantangan | Dampak |
|---|---|
| Deteksi fingerprint browser | Skrip diblokir sebelum mencapai konten |
| Tantangan CAPTCHA | Memerlukan penyelesaian manual, menghentikan otomatisasi |
| Sistem reputasi IP | Proxy cepat ditandai dan dilarang |
| Analisis perilaku | Pola non-manusia terdeteksi |
Integrasi Camoufox + CapSolver menyelesaikan semua tantangan ini dalam satu alur kerja.
Metode Integrasi
Metode 1: Integrasi API (Direkomendasikan)
Pendekatan integrasi API memberi Anda kontrol penuh terhadap proses penyelesaian CAPTCHA dan berfungsi dengan semua jenis CAPTCHA.
Persyaratan Setup
bash
pip install camoufox[geoip] httpx
Pola Integrasi Inti
python
import asyncio
import httpx
from camoufox.async_api import AsyncCamoufox
CAPSOLVER_API_KEY = "KUNCI_API_ANDA"
CAPSOLVER_API = "https://api.capsolver.com"
async def create_task(task_payload: dict) -> str:
"""Membuat tugas penyelesaian CAPTCHA dan mengembalikan ID tugas."""
async with httpx.AsyncClient() as client:
response = await client.post(
f"{CAPSOLVER_API}/createTask",
json={
"clientKey": CAPSOLVER_API_KEY,
"task": task_payload
}
)
result = response.json()
if result.get("errorId") != 0:
raise Exception(f"Kesalahan CapSolver: {result.get('errorDescription')}")
return result["taskId"]
async def get_task_result(task_id: str, max_attempts: int = 120) -> dict:
"""Memantau hasil tugas hingga selesai atau timeout."""
async with httpx.AsyncClient() as client:
for _ in range(max_attempts):
response = await client.post(
f"{CAPSOLVER_API}/getTaskResult",
json={
"clientKey": CAPSOLVER_API_KEY,
"taskId": task_id
}
)
result = response.json()
if result.get("status") == "ready":
return result["solution"]
elif result.get("status") == "failed":
raise Exception(f"Tugas gagal: {result.get('errorDescription')}")
await asyncio.sleep(1)
raise TimeoutError("Penyelesaian CAPTCHA melebihi waktu yang diberikan")
async def solve_captcha(task_payload: dict) -> dict:
"""Menyelesaikan alur kerja CAPTCHA."""
task_id = await create_task(task_payload)
return await get_task_result(task_id)
Metode 2: Ekstensi Browser
Anda juga dapat menggunakan ekstensi CapSolver dengan Camoufox untuk pendekatan yang lebih sederhana.
Langkah Instalasi
- Unduh ekstensi CapSolver dari capsolver.com/en/extension
- Ekstrak file ekstensi
- Muat ke Camoufox:
python
from camoufox.sync_api import Camoufox
with Camoufox(
addons=["/path/to/capsolver-extension"],
headless=False # Ekstensi memerlukan mode yang terlihat
) as browser:
page = browser.new_page()
# Ekstensi akan secara otomatis mendeteksi dan menyelesaikan CAPTCHA
Contoh Kode
Contoh 1: Menyelesaikan Cloudflare Turnstile
Cloudflare Turnstile adalah salah satu tantangan CAPTCHA yang paling umum. Berikut cara menyelesaikannya:
python
import asyncio
from camoufox.async_api import AsyncCamoufox
CAPSOLVER_API_KEY = "KUNCI_API_ANDA"
CAPSOLVER_API = "https://api.capsolver.com"
async def solve_turnstile(site_key: str, page_url: str) -> str:
"""Menyelesaikan Cloudflare Turnstile dan mengembalikan token."""
import httpx
async with httpx.AsyncClient() as client:
# Membuat tugas
response = await client.post(
f"{CAPSOLVER_API}/createTask",
json={
"clientKey": CAPSOLVER_API_KEY,
"task": {
"type": "AntiTurnstileTaskProxyLess",
"websiteURL": page_url,
"websiteKey": site_key,
}
}
)
task_id = response.json()["taskId"]
# Memantau hasil
while True:
result = await client.post(
f"{CAPSOLVER_API}/getTaskResult",
json={
"clientKey": CAPSOLVER_API_KEY,
"taskId": task_id
}
)
data = result.json()
if data.get("status") == "ready":
return data["solution"]["token"]
await asyncio.sleep(1)
async def main():
target_url = "https://example.com/protected-page"
turnstile_site_key = "0x4XXXXXXXXXXXXXXXXX" # Temukan ini di sumber halaman
async with AsyncCamoufox(
humanize=True,
headless=False,
os="windows"
) as browser:
page = await browser.new_page()
await page.goto(target_url)
# Menunggu Turnstile dimuat
await page.wait_for_selector('input[name="cf-turnstile-response"]', timeout=10000)
# Menyelesaikan CAPTCHA
token = await solve_turnstile(turnstile_site_key, target_url)
print(f"Dapatkan token Turnstile: {token[:50]}...")
# Menyuntikkan token
await page.evaluate(f'''
document.querySelector('input[name="cf-turnstile-response"]').value = "{token}";
// Juga atur callback tersembunyi jika ada
const callback = document.querySelector('[data-callback]');
if (callback) {{
const callbackName = callback.getAttribute('data-callback');
if (window[callbackName]) {{
window[callbackName]('{token}');
}}
}}
''')
# Mengirim formulir
await page.click('button[type="submit"]')
await page.wait_for_load_state("networkidle")
print("Berhasil melewati Turnstile!")
if __name__ == "__main__":
asyncio.run(main())
Contoh 2: Menyelesaikan reCAPTCHA v2
python
import asyncio
from camoufox.async_api import AsyncCamoufox
CAPSOLVER_API_KEY = "KUNCI_API_ANDA"
CAPSOLVER_API = "https://api.capsolver.com"
async def solve_recaptcha_v2(site_key: str, page_url: str) -> str:
"""Menyelesaikan reCAPTCHA v2 dan mengembalikan token."""
import httpx
async with httpx.AsyncClient() as client:
# Membuat tugas
response = await client.post(
f"{CAPSOLVER_API}/createTask",
json={
"clientKey": CAPSOLVER_API_KEY,
"task": {
"type": "ReCaptchaV2TaskProxyLess",
"websiteURL": page_url,
"websiteKey": site_key,
}
}
)
result = response.json()
if result.get("errorId") != 0:
raise Exception(f"Kesalahan: {result.get('errorDescription')}")
task_id = result["taskId"]
# Memantau hasil
while True:
result = await client.post(
f"{CAPSOLVER_API}/getTaskResult",
json={
"clientKey": CAPSOLVER_API_KEY,
"taskId": task_id
}
)
data = result.json()
if data.get("status") == "ready":
return data["solution"]["gRecaptchaResponse"]
elif data.get("status") == "failed":
raise Exception(f"Gagal: {data.get('errorDescription')}")
await asyncio.sleep(2)
async def main():
target_url = "https://example.com/login"
recaptcha_site_key = "6LcXXXXXXXXXXXXXXXXXXXXXXXXX" # Temukan di sumber halaman
async with AsyncCamoufox(
humanize=True,
headless=False,
os=["windows", "macos"] # Pemilihan OS acak
) as browser:
page = await browser.new_page()
await page.goto(target_url)
# Mengisi bidang formulir dengan jeda mirip manusia
await page.fill('input[name="username"]', "user@example.com")
await asyncio.sleep(0.5) # Jeda mirip manusia
await page.fill('input[name="password"]', "password123")
# Menyelesaikan CAPTCHA
print("Menyelesaikan reCAPTCHA v2...")
token = await solve_recaptcha_v2(recaptcha_site_key, target_url)
print(f"Dapatkan token: {token[:50]}...")
# Menyuntikkan token ke bidang respons reCAPTCHA
await page.evaluate(f'''
document.getElementById('g-recaptcha-response').innerHTML = '{token}';
document.getElementById('g-recaptcha-response').style.display = 'block';
''')
# Mengirim formulir
await page.click('button[type="submit"]')
await page.wait_for_load_state("networkidle")
print("Login berhasil!")
if __name__ == "__main__":
asyncio.run(main())
Contoh 3: Menyelesaikan reCAPTCHA v3
reCAPTCHA v3 berbasis skor dan tidak memerlukan interaksi pengguna. Anda perlu menentukan parameter aksi.
python
import asyncio
from camoufox.async_api import AsyncCamoufox
CAPSOLVER_API_KEY = "KUNCI_API_ANDA"
CAPSOLVER_API = "https://api.capsolver.com"
async def solve_recaptcha_v3(
site_key: str,
page_url: str,
action: str = "verify",
min_score: float = 0.7
) -> str:
"""Menyelesaikan reCAPTCHA v3 dengan aksi dan skor minimum yang ditentukan."""
import httpx
async with httpx.AsyncClient() as client:
response = await client.post(
f"{CAPSOLVER_API}/createTask",
json={
"clientKey": CAPSOLVER_API_KEY,
"task": {
"type": "ReCaptchaV3TaskProxyLess",
"websiteURL": page_url,
"websiteKey": site_key,
"pageAction": action,
"minScore": min_score
}
}
)
result = response.json()
if result.get("errorId") != 0:
raise Exception(f"Kesalahan: {result.get('errorDescription')}")
task_id = result["taskId"]
while True:
result = await client.post(
f"{CAPSOLVER_API}/getTaskResult",
json={
"clientKey": CAPSOLVER_API_KEY,
"taskId": task_id
}
)
data = result.json()
if data.get("status") == "ready":
return data["solution"]["gRecaptchaResponse"]
elif data.get("status") == "failed":
raise Exception(f"Gagal: {data.get('errorDescription')}")
await asyncio.sleep(1)
async def main():
target_url = "https://example.com/search"
recaptcha_v3_key = "6LcXXXXXXXXXXXXXXXXXXXXXXXXX"
async with AsyncCamoufox(
humanize=2.0, # Gerakan kursor maksimal 2 detik
headless=True, # Bisa dijalankan dalam mode tanpa antarmuka untuk v3
geoip=True, # Deteksi geolokasi otomatis dari proxy
) as browser:
page = await browser.new_page()
await page.goto(target_url)
# Menyelesaikan reCAPTCHA v3 dengan aksi "search"
print("Menyelesaikan reCAPTCHA v3...")
token = await solve_recaptcha_v3(
recaptcha_v3_key,
target_url,
action="search",
min_score=0.9 # Meminta skor tinggi
)
# Menjalankan callback dengan token
await page.evaluate(f'''
// Kirim token melalui callback situs
grecaptcha.execute('{recaptcha_v3_key}', {{action: 'search'}})
.then(function(tokenAsli) {{
// Ganti dengan token yang telah diselesaikan
kirimPencarian('{token}');
}});
''')
print("reCAPTCHA v3 berhasil dihindari!")
if name == "main":
asyncio.run(main())
---
## Praktik Terbaik
### 1. Rotasi Proxy dengan GeoIP
Gunakan fitur GeoIP Camoufox untuk secara otomatis menyesuaikan sidik jari dengan lokasi proxy Anda:
```python
async with AsyncCamoufox(
geoip=True, # Deteksi otomatis dari IP proxy
proxy={
"server": "http://proxy.example.com:8080",
"username": "user",
"password": "pass"
}
) as browser:
# Sidik jari akan menyesuaikan lokasi geografis proxy
pass
2. Konsistensi Sidik Jari
Jaga konsistensi sidik jari dalam satu sesi tetapi ganti antar sesi:
python
from browserforge.fingerprints import Screen
# Batasi ke ukuran layar umum
screen = Screen(
min_width=1280,
max_width=1920,
min_height=720,
max_height=1080
)
async with AsyncCamoufox(
os="windows",
screen=screen,
) as browser:
pass
3. Pembatasan Kecepatan
Hindari memicu pembatasan kecepatan dengan menambahkan jeda:
python
import random
async def jeda_manusia():
"""Jeda acak untuk meniru perilaku manusia."""
await asyncio.sleep(random.uniform(1.0, 3.0))
# Gunakan antara tindakan
await page.click('button')
await jeda_manusia()
await page.fill('input', 'text')
4. Penanganan Kesalahan
Selalu implementasikan penanganan kesalahan yang tepat untuk penyelesaian CAPTCHA:
python
async def selesaikan_dengan_pengulangan(payload_tugas: dict, maks_pengulangan: int = 3) -> dict:
"""Selesaikan CAPTCHA dengan logika pengulangan."""
for percobaan in range(maks_pengulangan):
try:
return await selesaikan_captcha(payload_tugas)
except TimeoutError:
if percobaan < maks_pengulangan - 1:
print(f"Timeout, mencoba lagi... ({percobaan + 1}/{maks_pengulangan})")
await asyncio.sleep(5)
else:
raise
except Exception as e:
if "saldo" in str(e).lower():
raise # Jangan ulangi kesalahan saldo
if percobaan < maks_pengulangan - 1:
await asyncio.sleep(2)
else:
raise
Bonus: Mulai Hari Ini!
Siap mempercepat otomatisasi web Anda dengan Camoufox dan CapSolver?
Gunakan kode CAMOUFOX saat mendaftar di CapSolver untuk mendapatkan kredit tambahan!

Bonus eksklusif ini membantu Anda memulai penyelesaian CAPTCHA langsung.
Kesimpulan
Integrasi Camoufox dan CapSolver menciptakan alat yang kuat untuk otomatisasi web:
- Camoufox menangani deteksi bot dengan penyamaran sidik jari tingkat sistem
- CapSolver menangani CAPTCHA dengan penyelesaian berbasis AI
- Bersama-sama mereka memungkinkan otomatisasi yang mulus dan terlihat sepenuhnya manusia
Baik Anda membangun web scraper, sistem pengujian otomatis, atau pipeline pengumpulan data, kombinasi ini memberikan keandalan dan ketahanan yang Anda butuhkan.
FAQ
Q: Tipe CAPTCHA apa yang paling baik bekerja dengan integrasi ini?
A: CapSolver mendukung semua tipe CAPTCHA utama. Cloudflare Turnstile dan reCAPTCHA v2/v3 memiliki tingkat keberhasilan tertinggi. Integrasi ini berjalan mulus dengan semua CAPTCHA yang didukung oleh CapSolver.
Q: Bisakah saya menggunakan ini dalam mode headless?
A: Ya! Camoufox mendukung mode headless dan tetap mempertahankan kemampuan penyamaran sidik jari. Untuk reCAPTCHA v3 dan CAPTCHA berbasis token, mode headless berjalan sempurna. Untuk CAPTCHA v2 yang terlihat, mode headed mungkin memberikan hasil yang lebih baik.
Q: Bagaimana cara menemukan site key untuk CAPTCHA?
A: Cari di sumber halaman untuk:
- Turnstile: atribut
data-sitekeyatau elemencf-turnstile - reCAPTCHA: atribut
data-sitekeypada divg-recaptcha
Q: Apa yang harus saya lakukan jika penyelesaian CAPTCHA gagal?
A: Solusi umum:
- Verifikasi API key dan saldo Anda
- Pastikan site key benar
- Periksa apakah URL halaman sesuai dengan tempat CAPTCHA muncul
- Untuk v3, coba sesuaikan parameter action dan skor minimum
- Implementasikan logika pengulangan dengan jeda
Q: Apakah Camoufox bekerja dengan Selenium?
A: Camoufox dibangun di sekitar Playwright, bukan Selenium. Namun, Anda dapat menggunakan pola integrasi API CapSolver yang sama dengan kerangka kerja otomatisasi browser apa pun.
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 reCAPTCHA v2 di Relevance AI dengan Integrasi CapSolver
Kembangkan alat Relevance AI untuk menyelesaikan reCAPTCHA v2 menggunakan CapSolver. Otomatisasi pengajuan formulir melalui API tanpa otomatisasi browser.

Ethan Collins
03-Feb-2026

Larangan IP pada 2026: Bagaimana Cara Kerjanya dan Cara Praktis untuk Mengelaknya
Pelajari cara menghindari pembatasan IP pada 2026 dengan panduan lengkap kami. Temukan teknik pemblokiran IP modern dan solusi praktis seperti proxy residensial dan solver CAPTCHA.

Emma Foster
26-Jan-2026

Cara Menyelesaikan Captcha di Maxun dengan Integrasi CapSolver
Panduan praktis untuk mengintegrasikan CapSolver dengan Maxun dalam penggunaan nyata pengambilan data web. Pelajari cara mengelola reCAPTCHA, Cloudflare Turnstile, dan situs yang dilindungi CAPTCHA dengan menggunakan alur kerja pre-auth dan robot.

Adélia Cruz
21-Jan-2026

Cara menyelesaikan Captcha di Browser4 dengan integrasi CapSolver
Otomasi Browser4 dengan throughput tinggi dikombinasikan dengan CapSolver untuk menangani tantangan CAPTCHA dalam ekstraksi data web skala besar.

Anh Tuan
21-Jan-2026

Apa itu Bot Scraping dan Bagaimana Cara Membuatnya
Pelajari apa itu bot scraping dan cara membuatnya untuk ekstraksi data otomatis. Jelajahi alat terbaik, teknik navigasi keamanan, dan praktik scraping yang etis.

Emma Foster
16-Jan-2026

Scrapy vs. Selenium: Mana yang Terbaik untuk Proyek Scraping Web Anda?
Temukan kekuatan dan perbedaan antara Scrapy dan Selenium untuk pengambilan data web. Pelajari alat mana yang paling sesuai dengan proyek Anda dan cara mengatasi tantangan seperti CAPTCHA.

Emma Foster
14-Jan-2026

