CAPSOLVER
Blog
Penyelesaian CAPTCHA CloakBrowser: Cara Mengintegrasikan CapSolver dengan Otomatisasi Browser Playwright

Pemecah CAPTCHA CloakBrowser: Cara Mengintegrasikan CapSolver dengan Otomatisasi Browser Playwright

Logo of CapSolver

Emma Foster

How to use CapSolver

31-Aug-2026

TL;DR

  • CloakBrowser menjalankan build Chromium melalui API Python yang kompatibel dengan Playwright; CapSolver menangani tugas CAPTCHA dan mengembalikan token atau hasil pengenalan gambar.
  • CloakBrowser bukan layanan penyelesaian CAPTCHA. Integrasi ini mempertahankan state browser di CloakBrowser, mengirimkan hanya parameter tantangan yang diperlukan ke CapSolver, dan mengirimkan hasil melalui halaman Playwright yang sama.
  • Untuk skrip Playwright yang sudah ada, perubahan utama di sisi browser adalah mengganti launcher Chromium standar dengan from cloakbrowser import launch.
  • Pertahankan URL halaman, site key, proxy, cookies, locale, dan user agent konsisten saat tantangan terkait dengan sesi saat ini.
  • Token yang dikembalikan adalah hasil sementara. Anggap alur kerja berhasil hanya setelah halaman target atau aplikasi yang diizinkan menerimanya.

Apa yang Dilakukan CloakBrowser dan CapSolver

CloakBrowser adalah paket browser berbasis Chromium untuk otomasi Playwright dan Puppeteer. Repositori resmi menjelaskan perubahan tingkat sumber pada sinyal browser seperti canvas, WebGL, audio, font, GPU, layar, WebRTC, dan perilaku terkait otomasi. Launcher Python mengembalikan objek Playwright Browser, sehingga metode yang dikenal seperti new_page(), locator, evaluate(), klik, dan operasi formulir tetap tersedia.

CloakBrowser tidak menyelesaikan CAPTCHA. CapSolver menyediakan layanan tersebut: aplikasi Anda membuat tugas dengan parameter tantangan, menerima solusi, dan menggunakan halaman saat ini untuk mengirimkannya. Batas ini penting karena manajemen lingkungan browser dan penanganan CAPTCHA memiliki input dan mode kegagalan yang berbeda.

Tanggung jawabnya seperti ini:

text Copy
CloakBrowser
  -> menjalankan Chromium dan mempertahankan cookies, proxy, halaman, dan konteks browser
  -> membaca parameter tantangan yang ditampilkan ke sesi saat ini

CapSolver
  -> menerima tipe tugas yang didukung dan parameter tantangan yang diperlukan
  -> mengembalikan token atau hasil pengenalan gambar

Playwright API
  -> mengembalikan hasil ke halaman yang sama
  -> memanggil callback yang diharapkan atau mengirimkan formulir
  -> memverifikasi respons halaman atau aplikasi akhir

Jika Anda membutuhkan peninjauan Playwright sebelum mengintegrasikan kedua layanan ini, lihat glosari Playwright dan panduan otomasi browser Playwright.

Prasyarat

Gunakan alur kerja ini hanya pada situs web dan aplikasi yang Anda miliki atau diizinkan untuk diuji atau otomatisasi. Anda akan membutuhkan:

  • Python 3.9 atau lebih baru;
  • instalasi CloakBrowser dan lisensi atau setup evaluasi yang didukung;
  • akun CapSolver dan kunci API;
  • URL target dan parameter tantangan dari halaman yang Anda izinkan untuk otomatisasi.

Instal paket Python:

bash Copy
pip install cloakbrowser capsolver

Untuk lisensi CloakBrowser, repositori saat ini mendokumentasikan cloakbrowser login untuk setup interaktif dan variabel lingkungan CLOAKBROWSER_LICENSE_KEY untuk CI atau server. Pertahankan kredensial vendor di luar kontrol sumber. Variabel lingkungan atau manajer rahasia lebih aman daripada mengirimkan kunci literal.

Langkah 1: Jalankan CloakBrowser dengan API Playwright

Contoh minimal berikut membuka halaman, membaca judulnya, dan menutup browser:

python Copy
from cloakbrowser import launch

browser = launch(
    headless=False,
    humanize=True,
    license_key="cb_...",
)

page = browser.new_page()
page.goto("https://example.com", wait_until="domcontentloaded")
print(page.title())
browser.close()

Opsi launcher mengontrol lingkungan browser:

Parameter Tujuan
headless Menjalankan dengan atau tanpa jendela browser yang terlihat.
humanize Mengaktifkan perilaku interaksi yang dijelaskan CloakBrowser.
proxy Mengarahkan sesi browser melalui proxy yang dikonfigurasi.
geoip Menyelaraskan pengaturan browser yang terkait lokasi saat setup yang dipilih mendukungnya.
Pengaturan locale dan zona waktu Memastikan sinyal bahasa dan waktu konsisten dengan sesi.
license_key Menyediakan lisensi CloakBrowser saat tidak dimuat dari lingkungan atau status login.

Untuk tantangan yang terikat sesi, hindari mengubah proxy, user agent, cookies, atau konteks browser antara membaca tantangan dan mengirimkan solusinya. FAQ CapSolver tentang fingerprinting browser dalam keamanan web menjelaskan mengapa beberapa sinyal browser dapat dievaluasi bersama.

Langkah 2: Buat Tugas reCAPTCHA v2 CapSolver

Alur dasar SDK Python mengatur kunci API dan mengirimkan objek tugas yang didukung. Contoh ini menggunakan nilai demo reCAPTCHA v2 Google:

python Copy
import capsolver

capsolver.api_key = "CAP-..."

solution = capsolver.solve(
    {
        "type": "ReCaptchaV2TaskProxyLess",
        "websiteURL": "https://www.google.com/recaptcha/api2/demo",
        "websiteKey": "6Le-wvkSAAAAAPBMRTvw0Q4Muexq9bi0DJwx_mJ-",
    }
)

token = solution.get("gRecaptchaResponse")
if not isinstance(token, str) or not token:
    raise RuntimeError(f"CapSolver tidak mengembalikan token reCAPTCHA: {solution}")

print("Token diterima")

Bidang penting adalah:

Bidang Makna
type Jenis tugas CapSolver yang sesuai dengan tantangan.
websiteURL URL lengkap halaman di mana tantangan muncul.
websiteKey Kunci situs yang ditemukan dalam integrasi halaman.
isInvisible Bendera opsional yang hanya digunakan saat halaman menerapkan varian tak terlihat.

Periksa dokumentasi reCAPTCHA v2 CapSolver sebelum deployment produksi, dan gunakan nilai dari halaman aktif alih-alih menyalin parameter demo. Panduan penyelesaian reCAPTCHA v2 yang lebih panjang menutupi pemilihan tugas dan bidang respons dalam detail lebih lanjut.

Klaim Kode Bonus CapSolver Anda

Tingkatkan anggaran otomatisasi Anda secara instan!
Gunakan kode bonus CAP26 saat menambahkan dana ke akun CapSolver Anda untuk mendapatkan tambahan 5% bonus pada setiap penyetoran — tanpa batas.
Klaim sekarang di Dasbor CapSolver Anda
Kode Bonus

Langkah 3: Kembalikan Token Melalui Halaman CloakBrowser yang Sama

Contoh lengkap di bawah ini mempertahankan navigasi dan pengiriman token di dalam satu halaman CloakBrowser. Pemilih CSS dan perilaku pengiriman spesifik untuk demo publik; aplikasi nyata mungkin menggunakan callback, bidang yang dikelola framework, atau alur formulir lainnya.

python Copy
import re

import capsolver
from cloakbrowser import launch


def inject_recaptcha_token(page, token):
    if not isinstance(token, str) or not token:
        raise ValueError("Token reCAPTCHA yang tidak kosong diperlukan")

    page.evaluate(
        """
        (token) => {
            const textarea = document.getElementById('g-recaptcha-response');
            if (!textarea) {
                throw new Error('g-recaptcha-response tidak ditemukan');
            }
            textarea.value = token;
        }
        """,
        token,
    )

    with page.expect_navigation(
        wait_until="domcontentloaded",
        timeout=30_000,
    ):
        page.click("#recaptcha-demo-submit")

    return page.content()


def main():
    capsolver.api_key = "CAP-..."  # KUNCI_API_CAPSOLVER_ANDA

    browser = launch(
        license_key="cb_...",  # KUNCI_LISIENSI_CLOAKBROWSER_ANDA
        headless=False,
        locale="en-US",
    )

    try:
        page = browser.new_page()
        page.goto(
            "https://www.google.com/recaptcha/api2/demo",
            wait_until="domcontentloaded",
            timeout=60_000,
        )

        solution = capsolver.solve(
            {
                "type": "ReCaptchaV2TaskProxyLess",
                "websiteURL": page.url,
                "websiteKey": "6Le-wvkSAAAAAPBMRTvw0Q4Muexq9bi0DJwx_mJ-",
            }
        )

        token = solution.get("gRecaptchaResponse")
        result_page = inject_recaptcha_token(page, token)

        match = re.search(
            r'<div class="recaptcha-success">(.*?)</div>',
            result_page,
        )
        print(match.group(1) if match else "Verifikasi gagal")
    finally:
        browser.close()


if __name__ == "__main__":
    main()

Jalankan sebagai skrip Python biasa:

bash Copy
python cloakbrowser-capsolver.py

Dalam produksi, muat kunci dari variabel lingkungan, tambahkan retry terbatas di sekitar kegagalan API atau navigasi sementara, log ID tugas CapSolver tanpa mengungkap rahasia, dan validasi hasil bisnis akhir. CapSolver juga menyediakan FAQ yang fokus pada integrasi penyelesaian CAPTCHA dengan Playwright atau Puppeteer.

Langkah 4: Tangani CAPTCHA Gambar dengan ImageToTextTask

Beberapa alur kerja pengujian yang diizinkan menampilkan CAPTCHA sebagai gambar alih-alih widget berbasis token. Dalam kasus ini, tangkap atau ekstrak gambar, konversi ke Base64 tanpa awalan Data URL, dan kirimkan ke ImageToTextTask.

Gambar berikut dari alur kerja asli menunjukkan elemen gambar dan bidang masukan pada demo fitur BotDetect:

BotDetect demo elemen gambar CAPTCHA dan bidang masukan
python Copy
import capsolver
from cloakbrowser import launch


TARGET_URL = "https://captcha.com/demos/features/captcha-demo.aspx"

browser = launch(headless=False, humanize=True)

try:
    page = browser.new_page()
    page.goto(TARGET_URL, wait_until="domcontentloaded")

    image_src = page.locator("#demoCaptcha_CaptchaImage").get_attribute("src")
    if not image_src or "," not in image_src:
        raise RuntimeError("Gambar CAPTCHA bukan Data URL")

    base64_image = image_src.split(",", 1)[1].replace("\n", "")

    solution = capsolver.solve(
        {
            "type": "ImageToTextTask",
            "websiteURL": page.url,
            "module": "common",
            "body": base64_image,
        }
    )

    text = solution.get("text")
    if not isinstance(text, str) or not text:
        raise RuntimeError(f"CapSolver tidak mengembalikan teks OCR: {solution}")

    page.locator("#captchaCode").fill(text)
    page.locator("#validateCaptchaButton").click()
finally:
    browser.close()

Pemilih secara sengaja terkait dengan halaman demo. Periksa halaman target yang diizinkan dan gunakan pemilih gambar, input, dan submit yang sebenarnya.

Banyak gambar dan modul angka

ImageToTextTask dapat menggunakan modul berbeda untuk format gambar yang didukung. Daftar modul asli mencakup ini, yang disimpan di sini untuk referensi:

Contoh modul ImageToTextTask CapSolver

Ketika modul yang didukung menerima beberapa gambar, kirimkan array yang didokumentasikan untuk modul tersebut dan baca jawaban yang sesuai:

python Copy
solution = capsolver.solve(
    {
        "type": "ImageToTextTask",
        "module": "number",
        "images": [base64_image],
    }
)

answers = solution["answers"]

Nama modul, bidang permintaan, dan format yang didukung dapat berubah, jadi periksa terhadap dokumentasi ImageToTextTask saat ini. Untuk pola API Python yang lebih luas, lihat cara mengintegrasikan API penyelesaian CAPTCHA dalam Python.

Apa yang Berubah untuk reCAPTCHA v3?

Arsitektur browser tetap sama, tetapi tugas CapSolver dan parameter halaman harus sesuai dengan implementasi v3. Secara khusus:

  1. Gunakan tipe tugas reCAPTCHA v3 yang didokumentasikan oleh CapSolver.
  2. Berikan nilai tindakan yang diharapkan oleh halaman saat integrasi menggunakan satu.
  3. Baca URL dan kunci situs dari halaman aktif alih-alih contoh yang tidak terkait.
  4. Pertahankan token yang dihasilkan dalam sesi browser yang sama dan kirimkan sebelum kedaluwarsa.
  5. Verifikasi respons aplikasi. Skor atau token yang dikembalikan oleh API tidak menjamin bahwa aplikasi target menerima permintaan.

Jangan buka halaman baru tanpa cookies dan state sesi asli hanya untuk mengirimkan token. Ini memecah konteks yang mungkin digunakan aplikasi target saat mengevaluasi hasil.

Troubleshooting CloakBrowser dan CapSolver

Skrip menjalankan Chromium Playwright standar

Kode ini menjalankan Chromium yang dikemas Playwright, bukan CloakBrowser:

python Copy
from playwright.sync_api import sync_playwright

pw = sync_playwright().start()
browser = pw.chromium.launch()

Gunakan launcher CloakBrowser alih-alih:

python Copy
from cloakbrowser import launch

browser = launch()

Menurut repositori CloakBrowser, playwright install-deps chromium mungkin berguna di Linux saat perpustakaan sistem yang dibagikan hilang. Menjalankan playwright install chromium berbeda: ini mengunduh browser Playwright dan tidak memperbaiki jalur launch CloakBrowser.

CapSolver mengembalikan token, tetapi halaman menolaknya

Periksa setiap batas dalam urutan:

  • websiteURL adalah URL lengkap yang digunakan oleh halaman aktif;
  • websiteKey milik halaman tersebut;
  • tipe tugas yang dipilih dan tindakan opsional sesuai dengan tantangan;
  • token ditulis ke bidang yang diharapkan atau dikirimkan ke callback halaman;
  • halaman tidak direfresh atau mengganti tantangan;
  • cookies, proxy, user agent, dan konteks browser tetap konsisten;
  • respons halaman akhir atau aplikasi memverifikasi penerimaan.

Tugas gambar tidak mengembalikan teks

Pastikan body gambar valid Base64, awalan Data URL telah dihapus, modul yang dipilih mendukung gambar, dan bidang respons sesuai dengan dokumentasi saat ini. Tangkap kode kesalahan dan ID tugas CapSolver untuk debugging, tetapi jangan log kunci API atau data halaman sensitif.

Tidak semua pengiriman menyebabkan navigasi penuh. Beberapa situs memperbarui DOM atau membuat permintaan XHR alih-alih. Ganti expect_navigation() dengan kondisi yang sebenarnya mewakili keberhasilan: locator yang menjadi terlihat, perubahan URL, peristiwa respons, atau elemen status aplikasi spesifik. Referensi API Browser Playwright resmi adalah sumber terbaik untuk perilaku API saat ini.

Otomatisasi yang Bertanggung Jawab dan Handal

Sistem CAPTCHA adalah mekanisme kontrol akses dan pencegahan penyalahgunaan. Gunakan CapSolver dan CloakBrowser hanya untuk otomatisasi yang sah pada sistem yang Anda miliki atau memiliki izin eksplisit untuk diuji. Hormati ketentuan situs, batas laju, persyaratan privasi, dan hukum yang berlaku. Jangan gunakan otomatisasi untuk mengakses data pribadi, menciptakan lalu lintas yang tidak pantas, atau mengganggu pengguna lain.

Untuk QA dan pemantauan, lebih baik menggunakan lingkungan pengujian khusus dan kunci uji penyedia ketika tersedia. Catat URL halaman, jenis tugas, ID tugas, waktu yang berlalu, dan status aplikasi akhir sehingga kegagalan dapat dilacak tanpa menyimpan kredensial atau data pribadi. Panduan otomatisasi CAPTCHA untuk pengujian QA memberikan pola tambahan untuk alur kerja pengujian yang terkendali.

Bangun Alur Kerja Otomatisasi yang Handal dengan CapSolver

CloakBrowser dapat menyediakan lingkungan browser yang kompatibel dengan Playwright, sementara CapSolver menangani tugas CAPTCHA yang didukung. Memisahkan tanggung jawab tersebut membuat alur kerja lebih mudah diuji: baca tantangan dari halaman aktif, minta solusi yang sesuai, kirimkan dalam konteks yang sama, dan verifikasi hasil aplikasi.

Coba CapSolver untuk alur kerja CloakBrowser atau Playwright yang sah, dan konsultasikan dokumentasi saat ini sebelum memindahkan kode demo ke produksi.

FAQ

Q: Apakah CloakBrowser adalah solver CAPTCHA?

Tidak. CloakBrowser menyediakan browser Chromium dan antarmuka otomatisasi yang kompatibel dengan Playwright. Layanan terpisah seperti CapSolver menangani tugas CAPTCHA yang didukung.

Q: Apakah skrip Playwright yang ada dapat menggunakan CloakBrowser?

Biasanya, ya. Ganti jalur inisialisasi browser dengan from cloakbrowser import launch, lalu terus gunakan Browser Playwright yang dikembalikan, halaman, lokator, dan metode evaluasi. Uji opsi dan ketergantungan khusus browser di lingkungan Anda.

Q: Mengapa hasil CAPTCHA harus dikirimkan dalam konteks browser yang sama?

Aplikasi target mungkin mengaitkan tantangan dengan cookie, alamat proxy, sinyal browser, URL, atau data sesi lainnya. Beralih konteks dapat membuat parameter tantangan yang sebenarnya tidak konsisten.

Q: Di mana saya dapat menemukan kunci situs reCAPTCHA?

Gunakan kunci yang dikonfigurasi di halaman yang Anda izinkan untuk diotomatisasi. Kunci ini mungkin muncul dalam markup widget atau skrip halaman. Jangan menyalin kunci dari tutorial atau domain yang tidak terkait.

Q: Apakah token CapSolver menjamin keberhasilan?

Tidak. Token adalah hasil sementara. Kondisi keberhasilan akhir adalah respons dari aplikasi target setelah token dikirimkan dengan benar dan tepat waktu.

Q: Apakah integrasi ini dapat menangani CAPTCHA gambar?

Tugas ImageToTextTask CapSolver mendukung modul pengenalan gambar yang terdokumentasi. Ekstrak gambar dari halaman yang sah, kirimkan payload Base64 yang diperlukan, dan masukkan teks yang dikembalikan melalui halaman CloakBrowser yang sama.

Q: Apakah kunci API dan lisensi muncul dalam skrip?

Tidak. Contoh menggunakan placeholder yang dapat dikenali. Kode produksi harus membaca rahasia dari variabel lingkungan atau manajer rahasia dan tidak pernah menyimpannya ke kontrol sumber.

Q: Bagaimana cara menguji integrasi ini secara aman?

Mulai dengan demo penyedia atau aplikasi yang Anda kendalikan. Gunakan laju permintaan yang terbatas, catat ID tugas dan hasil akhir, dan pindah ke situs produksi hanya ketika Anda memiliki izin dan kebutuhan operasional yang jelas.

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