
Ethan Collins
Pattern Recognition Specialist
BrowserCloud adalah platform otomatisasi browser berbasis cloud berkinerja tinggi yang dirancang untuk otomatisasi web yang terukur dan terdistribusi. Ini memungkinkan pengembang untuk menjalankan ratusan browser Chrome headless secara paralel untuk kasus penggunaan seperti pengambilan data web, pengujian otomatis, pemantauan SEO, ekstraksi data, dan pembuatan konten. Dengan dukungan bawaan untuk Puppeteer, Selenium, dan Playwright, BrowserCloud menyederhanakan alur kerja otomatisasi yang kompleks dengan menawarkan rotasi proxy, manajemen sesi, dan pemantauan real-time.
Namun, CAPTCHA, sistem deteksi bot, dan tindakan anti-otomatisasi tingkat lanjut sering kali mengganggu tugas otomatisasi browser ini dengan menuntut interaksi seperti manusia untuk memverifikasi keaslian. Hambatan tersebut dapat memblokir skrip pengambilan data, memperlambat pipeline pengujian, dan merusak pengiriman formulir otomatis, yang mengakibatkan pemborosan waktu dan penurunan efisiensi.
CapSolver, layanan bypass deteksi CAPTCHA dan bot yang didukung AI, menyediakan solusi yang andal. Ini secara terprogram mendeteksi dan menyelesaikan berbagai jenis CAPTCHA—termasuk reCAPTCHA v2/v3, Cloudflare Turnstile, dan teka-teki berbasis gambar—memastikan alur kerja otomatisasi browser yang tidak terganggu.
Pada artikel ini, kami akan memberikan panduan integrasi langkah demi langkah untuk menghubungkan CapSolver dengan BrowserCloud menggunakan Puppeteer, bersama dengan contoh kode yang berfungsi penuh. Dengan mengikuti panduan ini, Anda akan dapat dengan mudah melewati tantangan CAPTCHA, mengalahkan tindakan anti-bot, dan memaksimalkan efisiensi skrip otomatisasi Anda.
BrowserCloud adalah platform serbaguna yang mengelola grid browser Chrome berfitur lengkap pada infrastruktur berkinerja tinggi, menghilangkan kebutuhan untuk menangani dependensi browser lokal, kebocoran memori, atau pemeliharaan infrastruktur. Fitur kuncinya meliputi:
BrowserCloud mendukung berbagai tugas otomatisasi, termasuk:
Kasus penggunaan ini sering kali menemukan CAPTCHA, sehingga integrasi CapSolver sangat penting untuk otomatisasi yang tidak terganggu.
Situs web menggunakan CAPTCHA dan pertahanan anti-bot untuk melindungi dari akses otomatis, spam, dan aktivitas berbahaya, menimbulkan tantangan signifikan bagi tugas otomatisasi seperti pengambilan data web. CAPTCHA memerlukan interaksi seperti mengeklik kotak centang atau menyelesaikan teka-teki gambar, yang dapat menghentikan skrip BrowserCloud jika tidak ditangani. Jenis CAPTCHA umum meliputi:
| Jenis CAPTCHA | Deskripsi |
|---|---|
| reCAPTCHA v2 | Memerlukan pengguna untuk mengecek kotak atau memilih gambar berdasarkan prompt. |
| 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 pengambilan data web dan tugas otomatisasi lainnya, CAPTCHA dapat mencegah akses ke data penting, memerlukan intervensi manual yang menggagalkan tujuan otomatisasi. Meskipun rotasi proxy BrowserCloud membantu mengurangi pemicu CAPTCHA, hal itu mungkin tidak menghilangkannya sepenuhnya. API CapSolver menyediakan solusi yang andal dengan menyelesaikan CAPTCHA secara terprogram, memungkinkan skrip BrowserCloud untuk melewati hambatan ini dan terus mengekstrak data atau melakukan tugas dengan lancar.
API CapSolver dapat diintegrasikan dengan BrowserCloud dalam skrip Puppeteer/Playwright/Selenium untuk menangani CAPTCHA secara efektif. Prosesnya meliputi:
Integrasi ini memanfaatkan infrastruktur browser BrowserCloud yang terukur dan kemampuan pemecahan CAPTCHA CapSolver yang digerakkan oleh AI untuk memastikan alur kerja otomatisasi yang kuat.
Berikut adalah contoh kode lengkap yang menunjukkan cara mengintegrasikan CapSolver dengan BrowserCloud untuk menyelesaikan reCAPTCHA v2 di halaman demo. Kode ini didasarkan pada skrip yang disediakan, dengan sedikit peningkatan untuk kejelasan dan keandalan.
Instal dependensi yang diperlukan:
npm install puppeteer node-fetch@2 dotenv
Buat file .env dengan kunci API Anda:
BROWSER_CLOUD_TOKEN=your_browsercloud_token
CAPSOLVER_API_KEY=your_capsolver_api_key
import puppeteer from 'puppeteer';
import fetch from 'node-fetch';
import dotenv from 'dotenv';
dotenv.config();
const BROWSER_CLOUD_TOKEN = process.env.BROWSER_CLOUD_TOKEN;
const CAPSOLVER_API_KEY = process.env.CAPSOLVER_API_KEY;
async function solveCaptcha(sitekey, pageUrl) {
const createTaskRes = await fetch('https://api.capsolver.com/createTask', {
method: 'POST',
headers: { 'Content-Type': 'application/json' },
body: JSON.stringify({
clientKey: CAPSOLVER_API_KEY,
task: {
type: 'ReCaptchaV2TaskProxyless',
websiteURL: pageUrl,
websiteKey: sitekey
}
})
});
const createTask = await createTaskRes.json();
if (!createTask.taskId) throw new Error(`CapSolver: Gagal membuat tugas: ${JSON.stringify(createTask)}`);
let solution = null;
while (true) {
await new Promise(resolve => setTimeout(resolve, 2000));
const resultRes = await fetch('https://api.capsolver.com/getTaskResult', {
method: 'POST',
headers: { 'Content-Type': 'application/json' },
body: JSON.stringify({
clientKey: CAPSOLVER_API_KEY,
taskId: createTask.taskId
})
});
const result = await resultRes.json();
if (result.status === 'ready') {
solution = result.solution.gRecaptchaResponse;
break;
}
if (result.status === 'failed') throw new Error(`CapSolver: Gagal menyelesaikan: ${JSON.stringify(result)}`);
}
if (!solution) throw new Error('CapSolver: Timeout menunggu solusi');
return solution;
}
(async () => {
try {
const browser = await puppeteer.connect({
browserWSEndpoint: `wss://chrome-v2.browsercloud.io?token=${BROWSER_CLOUD_TOKEN}`
});
const page = await browser.newPage();
await page.goto('https://recaptcha-demo.appspot.com/recaptcha-v2-checkbox.php', { waitUntil: 'networkidle2' });
const sitekey = await page.$eval('.g-recaptcha', el => el.getAttribute('data-sitekey'));
console.log('Sitekey:', sitekey);
const solution = await solveCaptcha(sitekey, page.url());
console.log('Solusi CAPTCHA:', solution);
await page.evaluate(token => {
const textarea = document.getElementById('g-recaptcha-response');
if (textarea) {
textarea.value = token;
textarea.innerHTML = token;
textarea.style.display = '';
textarea.dispatchEvent(new Event('input', { bubbles: true }));
}
}, solution);
const submitBtn = await page.$('body > main > form > fieldset > button');
if (submitBtn) {
await Promise.all([
page.waitForNavigation({ waitUntil: 'networkidle2' }),
submitBtn.click()
]);
console.log('Tombol kirim diklik!');
} else {
console.log('Tombol kirim tidak ditemukan!');
}
console.log('Konten halaman setelah pengiriman:', await page.content());
await browser.close();
} catch (error) {
console.error('Error:', error);
}
})();
| Langkah | Deskripsi |
|---|---|
| 1. Siapkan Lingkungan | Instal puppeteer, node-fetch@2, dan dotenv menggunakan npm. Buat file .env dengan kunci API BrowserCloud dan CapSolver Anda. |
| 2. Tentukan Fungsi solveCaptcha | Fungsi ini mengambil kunci situs dan URL halaman, membuat tugas CapSolver untuk reCAPTCHA v2, meminta solusi (hingga 30 upaya dengan interval 2 detik), dan mengembalikan token solusi. |
| 3. Terhubung ke BrowserCloud | Gunakan puppeteer.connect dengan titik akhir WebSocket BrowserCloud, termasuk token API Anda. Perhatikan bahwa createIncognitoBrowserContext tidak didukung dalam mode jarak jauh BrowserCloud, jadi gunakan browser.newPage() langsung. |
| 4. Navigasi ke Halaman Target | Buka halaman baru dan navigasi ke halaman demo dengan reCAPTCHA v2, tunggu jaringan menjadi idle. |
| 5. Ekstrak Kunci Situs | Gunakan page.$eval untuk mengambil atribut data-sitekey dari elemen .g-recaptcha. |
| 6. Selesaikan CAPTCHA | Panggil solveCaptcha dengan kunci situs dan URL halaman untuk mendapatkan token solusi dari CapSolver. |
| 7. Suntikkan Solusi | Suntikkan token solusi ke textarea g-recaptcha-response dan kirimkan event input untuk mensimulasikan interaksi pengguna. |
| 8. Kirim Formulir | Temukan tombol kirim, klik, dan tunggu navigasi untuk memastikan pengiriman formulir diproses. |
| 9. Verifikasi Hasil | Cetak konten halaman untuk mengkonfirmasi pengiriman yang berhasil. |
| 10. Tutup Browser | Tutup koneksi browser untuk membebaskan sumber daya. |
Catatan: Kode asli menggunakan page.waitForTimeout(3000) setelah mengklik tombol kirim, yang mungkin tidak dapat diandalkan untuk menunggu navigasi. Contoh ini memperbaikinya dengan menggunakan page.waitForNavigation() untuk memastikan halaman telah sepenuhnya dimuat setelah pengiriman.
Bagian ini menjelaskan eksekusi skrip pada halaman demo dengan kotak centang reCAPTCHA v2:
g-recaptcha-response, mensimulasikan verifikasi CAPTCHA yang berhasil.Dalam praktiknya, Anda akan mengamati browser menavigasi ke halaman demo, kotak centang reCAPTCHA ditandai secara otomatis, dan formulir dikirimkan berhasil, semuanya tanpa intervensi manual.
| Pertanyaan | Jawaban |
|---|---|
| Jenis CAPTCHA apa yang didukung CapSolver? | CapSolver mendukung reCAPTCHA v2/v3, Cloudflare Turnstile dan banyak lagi. Lihat dokumentasi CapSolver untuk detailnya. |
| Bagaimana cara mendapatkan kunci API untuk BrowserCloud dan CapSolver? | Daftar di BrowserCloud dan CapSolver untuk mendapatkan kunci API Anda setelah pendaftaran. |
| Dapatkah saya menggunakan integrasi ini dengan Selenium atau Playwright? | Ya, Anda dapat menyesuaikan integrasi untuk Selenium atau Playwright dengan memodifikasi kontrol browser dan logika manipulasi halaman agar sesuai dengan API framework tersebut. |
| Bagaimana jika CapSolver gagal menyelesaikan CAPTCHA? | Implementasikan logika coba lagi dalam skrip Anda atau periksa akun CapSolver Anda untuk masalah seperti saldo yang tidak mencukupi. Catat kesalahan untuk debugging. |
| Apakah saya memerlukan proxy dengan CapSolver? | Contohnya menggunakan ReCaptchaV2TaskProxyless, tetapi proxy mungkin diperlukan untuk CAPTCHA khusus wilayah. Rotasi proxy bawaan BrowserCloud dapat melengkapi ini. |
Integrasi CapSolver dengan BrowserCloud menciptakan kombinasi yang ampuh untuk mengotomatiskan tugas web yang menemukan CAPTCHA. Pemecahan CAPTCHA yang digerakkan oleh AI dari CapSolver memastikan bahwa skrip Puppeteer Anda di BrowserCloud dapat melewati tindakan anti-bot, sementara infrastruktur BrowserCloud yang terukur dan dukungan proxy meningkatkan keandalan otomatisasi. Ini sangat berharga untuk pengambilan data web, pengujian otomatis, dan pembuatan konten, di mana CAPTCHA adalah hambatan umum.
Untuk memulai, daftar untuk BrowserCloud dan CapSolver, dapatkan kunci API Anda, dan implementasikan contoh kode yang disediakan. Jelajahi dokumentasi CapSolver dan dokumentasi BrowserCloud untuk fitur lanjutan dan jenis tugas tambahan. Cobalah integrasi ini di proyek otomatisasi Anda berikutnya dan alami alur kerja yang lancar dan tidak terputus!
Bonus untuk Pengguna Browser: Gunakan kode promo BROWSERCLOUD saat mengisi ulang akun CapSolver Anda dan dapatkan kredit bonus eksklusif 6% — tanpa batas, tanpa kedaluwarsa.
CapSolver: Kompatibel dengan klien apa pun yang memiliki kemampuan HTTP, termasuk ekstensi browser untuk Chrome dan Firefox.
Panduan captcha pengambilan data web untuk alur kerja data yang disetujui: pelajari jenis tantangan, pengelolaan API, konsistensi proxy, pengulangan, dan penggunaan yang bertanggung jawab.

API penyelesaian CAPTCHA cepat untuk otomatisasi: bandingkan alur kerja token, tantangan yang didukung, pemeriksaan latensi, dan integrasi CapSolver yang bertanggung jawab.
