
Adélia Cruz
Neural Network Developer

Mengotomasi interaksi browser seringkali memerlukan penanganan tantangan CAPTCHA, terutama ketika bekerja dengan alat seperti Puppeteer. Dalam panduan ini, kita akan membahas bagaimana mengatur Puppeteer JS dengan ekstensi CapSolver untuk menyelesaikan reCAPTCHA v2 secara efisien. Meskipun tutorial ini fokus pada reCAPTCHA v2, pendekatan yang sama dapat diperluas untuk jenis CAPTCHA lain yang didukung oleh CapSolver.
Di akhir artikel ini, Anda akan memahami cara menginstal dependensi yang diperlukan, mengkonfigurasi ekstensi CapSolver, dan memicu penyelesaian CAPTCHA langsung dalam sesi browser yang dikontrol oleh Puppeteer.
⚠️ Dalam blog ini, kita akan menjelaskan cara mengatur Puppeteer JS dengan ekstensi CapSolver untuk menyelesaikan reCAPTCHA v2. Namun, pendekatan ini juga dapat diterapkan untuk jenis CAPTCHA lainnya.
npm i puppeteer puppeteer-extra puppeteer-extra-plugin-stealth

Unduh arsip dengan ekstensi, dan ekstrak ke folder ./CapSolver.Browser.Extension di akar proyek.
Ekstensi memiliki banyak pengaturan, termasuk penyelesaian CAPTCHA otomatis, dukungan proxy, dan opsi kontrol yang lebih halus. Pengaturan ini tersedia dalam file ./assets/config.json.
Pengaturan tersebut adalah:
{
"apiKey": "YourApiKey",
"useCapsolver": true,
"useProxy": false,
"proxyType": "http",
"hostOrIp": "",
"port": "",
"proxyLogin": "",
"proxyPassword": "",
"enabledForBlacklistControl": false,
"blackUrlList": [],
"enabledForRecaptcha": true,
"enabledForRecaptchaV3": true,
"enabledForcaptcha": true,
"reCaptchaMode": "token",
"captchaMode": "click",
"reCaptchaDelayTime": 0,
"captchaDelayTime": 0,
"reCaptchaRepeatTimes": 10,
"reCaptcha3RepeatTimes": 10,
"captchaRepeatTimes": 10
}
Masukkan kunci API Anda ke file pengaturan ekstensi ./assets/config.json. Kunci harus ditetapkan ke bidang apiKey. Anda dapat menyalin kunci API langsung dari dashboard CapSolver.
Contoh:
apiKey: "CAP-4FDBD3SDFSD-23S-2-3"
Dalam contoh ini, reCaptchaMode diatur ke token. Meskipun mode click juga tersedia, mode token biasanya direkomendasikan untuk reCAPTCHA.
const puppeteer = require('puppeteer-extra');
const StealthPlugin = require('puppeteer-extra-plugin-stealth');
const { executablePath } = require('puppeteer');
(async () => {
const pathToExtension = require('path').join(__dirname, 'CapSolver.Browser.Extension');
puppeteer.use(StealthPlugin())
const browser = await puppeteer.launch({
headless: false,
args: [
`--disable-extensions-except=${pathToExtension}`,
`--load-extension=${pathToExtension}`,
],
executablePath: executablePath()
});
const [page] = await browser.pages()
})();
Berikutnya, buka halaman https://www.google.com/recaptcha/api2/demo dan kirim CAPTCHA ke CapSolver.
Menggunakan page.goto(), navigasi ke halaman target. CAPTCHA dapat dikirim untuk diselesaikan secara otomatis atau manual.
Dalam contoh ini, kita memicunya secara manual dengan menunggu kotak centang CAPTCHA dan mengkliknya.
await page.goto('https://site.example')
// Menunggu elemen dengan selector CSS "#recaptcha-anchor-label"
await page.waitForSelector('#recaptcha-anchor-label')
// Klik pada elemen
await page.click('#recaptcha-anchor-label')
const puppeteer = require('puppeteer-extra');
const StealthPlugin = require('puppeteer-extra-plugin-stealth');
const { executablePath } = require('puppeteer');
(async () => {
const pathToExtension = require('path').join(__dirname, 'CapSolver.Browser.Extension');
puppeteer.use(StealthPlugin())
const browser = await puppeteer.launch({
headless: false,
args: [
`--disable-extensions-except=${pathToExtension}`,
`--load-extension=${pathToExtension}`,
],
executablePath: executablePath()
});
const [page] = await browser.pages()
// Membuka halaman
await page.goto('https://site.example')
// Menunggu elemen dengan selector CSS "#recaptcha-anchor-label"
await page.waitForSelector('#recaptcha-anchor-label')
// Klik pada elemen
await page.click('#recaptcha-anchor-label')
})();
Anda telah berhasil menyelesaikan reCAPTCHA v2 menggunakan Puppeteer dan ekstensi CapSolver. Pengaturan ini memberikan cara yang fleksibel dan skalabel untuk menangani tantangan CAPTCHA langsung dalam lingkungan browser nyata. Dengan menyesuaikan konfigurasi ekstensi, alur kerja yang sama dapat digunakan kembali untuk jenis CAPTCHA lain yang didukung oleh CapSolver, membuatnya cocok untuk pengujian, otomatisasi, dan tugas berbasis browser skala besar.
1. Apakah metode ini dapat digunakan dalam mode headless?
Ekstensi browser CapSolver memerlukan lingkungan browser yang terlihat. Oleh karena itu, headless: false direkomendasikan saat menggunakan pendekatan berbasis ekstensi.
2. Apakah pengaturan ini berfungsi untuk jenis CAPTCHA selain reCAPTCHA v2?
Ya. Ekstensi CapSolver mendukung berbagai jenis CAPTCHA. Anda dapat mengaktifkan atau menonaktifkan solver CAPTCHA tertentu dalam file config.json dan menyesuaikan alur kerja sesuai kebutuhan.
3. Apakah proxy diperlukan saat menggunakan ekstensi CapSolver?
Proxy bersifat opsional. Ekstensi mendukung konfigurasi proxy, tetapi banyak penggunaan bekerja tanpa proxy. Penggunaan proxy bergantung pada situs web target dan kebutuhan otomatisasi Anda.
4. Apa perbedaan antara mode token dan click untuk reCAPTCHA?
Mode token mengambil solusi CAPTCHA secara programatis dan biasanya lebih stabil untuk otomatisasi. Mode click mensimulasikan interaksi pengguna dengan kotak centang CAPTCHA.
5. Apakah pengaturan ini dapat digunakan dalam lingkungan produksi?
Ya. Dengan konfigurasi yang tepat, penanganan kesalahan, dan pertimbangan skalabilitas, pendekatan ini dapat diintegrasikan ke dalam alur kerja otomatisasi browser tingkat produksi.
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.
