CAPSOLVER
Blog
Cara Mengatasi Cloudflare Saat Web Scraping pada 2024 | Panduan Langkah Demi Langkah

Cara Menyelesaikan Cloudflare Saat Web Scraping pada Tahun 2026 | Panduan Langkah demi Langkah

Logo of CapSolver

Anh Tuan

Data Science Expert

09-Dec-2025

Kode Status Umum Cloudflare Saat Melakukan WebScraping

Kesalahan 1020

Kesalahan Cloudflare 1020 menunjukkan bahwa akses ditolak. Kesalahan ini dipicu ketika aturan firewall situs web yang dilindungi oleh Cloudflare dilanggar. Berbagai tindakan, seperti membuat permintaan berlebihan ke situs, dapat menyebabkan pelanggaran ini.

Cara umum untuk memperbaiki masalah ini:

  • Gunakan proxy yang berputar untuk menyembunyikan alamat IP Anda.
  • Ubah dan putar header User-Agent.
  • Pastikan klien HTTP Anda mendukung TLS jika menggunakan perpustakaan requests.
  • Gunakan alat otomasi browser seperti Puppeteer, Playwright, atau Selenium.

Kesalahan 1015 / 429 batas permintaan

Kesalahan Cloudflare 1015 terjadi ketika alamat IP Anda ditandai dan dilarang oleh Cloudflare karena melebihi batas permintaan situs selama aktivitas scraping. Ini dapat menyebabkan Anda menghadapi kesalahan ini.
Cara umum untuk memperbaiki masalah ini:

  • Gunakan proxy yang berputar atau pool proxy yang besar
  • Pastikan situs web tidak dapat melacak Anda melalui header Anda, beberapa header bisa membuat mereka melacak Anda dan membatasi permintaan Anda
  • Pastikan Anda tidak terdeteksi melalui fingerprint TLS, TCP, atau cara lainnya.

Kesalahan 403

Kode status 403 adalah respons "Dilarang", yang dikeluarkan oleh server ketika ia mengakui permintaan sebagai valid tetapi menolak untuk memenuhinya. Ini bisa terjadi karena header yang diperlukan dalam permintaan Anda hilang, seperti header CORS, JWT, atau autentikasi yang diharapkan oleh server.

Jika situs web umumnya dapat diakses dan menambahkan header yang benar tidak memecahkan masalah, kemungkinan besar server mendeteksi permintaan Anda sebagai otomatis.
Cara umum untuk memperbaiki masalah ini:

  • Anda tidak mengirim header yang benar, informasi permintaan.
  • Proxy telah dilarang
  • Perlu menyelesaikan tantangan javascript, periksa blog tentang Cloudflare Challenge 5s untuk memahami cara menyelesaikannya
  • Situs web tidak mengizinkan semua lalu lintas

Tukarkan Kode Bonus CapSolver Anda

Tingkatkan anggaran otomasi Anda secara instan!
Gunakan kode bonus CAPN saat menambahkan dana ke akun CapSolver Anda untuk mendapatkan tambahan 5% bonus pada setiap recharge — tanpa batas.
Tukarkan sekarang di CapSolver Dashboard
.

Identifikasi Cloudflare Challenge 5s dan Cloudflare Turnstile Captcha

Cloudflare Challenge 5s

Cloudflare challenge terlihat seperti:

Terkadang, halaman ini bisa memiliki turnstile

Pastikan Anda perlu menyelesaikan Cloudflare Challenge 5s dan bukan hanya turnstile, untuk hanya turnstile, silakan terus membaca blog ini.

Ada beberapa persyaratan saat menyelesaikan tantangan ini menggunakan Capsolver.

  • Proxy
  • Kunci API Capsolver

Mengirim informasi tugas ke Capsolver

json Copy
POST https://api.capsolver.com/createTask
Host: api.capsolver.com
Content-Type: application/json

{
  "clientKey": "YOUR_API_KEY",
  "task": {
    "type": "AntiCloudflareTask",
    "websiteURL": "https://www.yourwebsite.com",
    "proxy": "158.120.100.23:334:user:pass"
  }
}

Setelah mengirim dengan benar, API akan mengembalikan taskId

json Copy
{
    "errorId": 0,
    "taskId": "014fc55c-46c9-41c8-9de7-6cb35d984edc",
    "status": "idle"
}

Dapatkan nilai taskId ini dan gunakan untuk mengambil hasil menggunakan metode getTaskResult

Mengambil hasil

json Copy
POST https://api.capsolver.com/getTaskResult
Host: api.capsolver.com
Content-Type: application/json

{
  "clientKey": "YOUR_API_KEY",
  "taskId": "taskId"
}

Tergantung pada beban sistem, Anda akan mendapatkan hasil dalam rentang 1s hingga 20s

Jika Anda menerima ERROR_CAPTCHA_SOLVE_FAILED dalam respons, bisa ada beberapa alasan:

  • Proxy Anda tidak perlu menyelesaikan Cloudflare Challenge 5s (Beberapa situs hanya mengaktifkan untuk proxy yang buruk, tindakan bot atau apa pun yang bisa memicu bahwa permintaan dibuat oleh bot). Kadang-kadang diaktifkan setiap saat, tergantung konfigurasinya.
  • Proxy Anda dilarang oleh Cloudflare dan sedang dalam loop yang tidak bisa melewati tantangan
  • Situs web tidak menggunakan Cloudflare Challenge, pastikan itu adalah tantangan dan bukan turnstile, periksa gambar contoh.
  • Proxy memberikan timeout, ini umum ketika menggunakan Residential Proxy

Jika Anda menerima respons sukses, akan terlihat seperti:

json Copy
{
    "errorId": 0,
    "taskId": "d8d3a8b4-30cc-4b09-802a-a476ca17fa54",
    "status": "ready",
    "solution": {
        "accept-language": "en-US,en;q=0.9",
        "cookies": {

        },
        "headers": {
            "accept": "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7",
            "accept-encoding": "gzip, deflate, br",
            "accept-language": "en-US,en;q=0.9",
            "cache-control": "max-age=0",
            "content-type": "application/x-www-form-urlencoded",
            "origin": "",
            "referer": "",
            "sec-ch-ua": "\"Not_A Brand\";v=\"8\", \"Chromium\";v=\"120\", \"Google Chrome\";v=\"120\"",
            "sec-ch-ua-arch": "\"arm\"",
            "sec-ch-ua-bitness": "\"64\"",
            "sec-ch-ua-full-version": "\"120.0.6099.71\"",
            "sec-ch-ua-full-version-list": "\"Not_A Brand\";v=\"8.0.0.0\", \"Chromium\";v=\"120.0.6099.71\", \"Google Chrome\";v=\"120.0.6099.71\"",
            "sec-ch-ua-mobile": "?0",
            "sec-ch-ua-model": "\"\"",
            "sec-ch-ua-platform": "\"macOS\"",
            "sec-ch-ua-platform-version": "\"10.14.6\"",
            "sec-fetch-dest": "document",
            "sec-fetch-mode": "navigate",
            "sec-fetch-site": "same-origin",
            "sec-fetch-user": "?1",
            "upgrade-insecure-requests": "1",
            "user-agent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36"
        },
        "proxy": "your proxy",
        "token": "cf clearance token",
        "type": "challenge",
        "userAgent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36"
    }
}

Dari respons ini, Anda perlu memproses nilai cookies, headers, token.

Permintaan Anda harus terlihat seperti:

  • Header permintaan harus sama dengan yang kami kembalikan untuk Anda
  • Cookies permintaan harus sama dengan yang kami kembalikan untuk Anda
  • Klien permintaan harus mendukung pengaturan TLS, dalam hal ini gunakan TLS Chrome 120
  • Gunakan proxy yang sama untuk berinteraksi di situs web dan untuk menggunakan kuki cf_clearance
  • Nilai token akan menjadi nilai kuki cf_clearance yang perlu Anda buat

Contoh untuk menyelesaikan Cloudflare Challenge dengan Python

python Copy
# -*- coding: utf-8 -*-
import requests
import time
import tls_client

# TODO: Kunci API Anda
API_KEY = ""
proxy = ""

# TODO: URL situs target:
page_url = ''



def call_capsolver():
    data = {
        "clientKey": API_KEY,
        "task": {
            "type": 'AntiCloudflareTask',
            "websiteURL": page_url,
            "proxy": proxy,
        }
    }
    uri = 'https://api.capsolver.com/createTask'
    res = requests.post(uri, json=data)
    resp = res.json()
    task_id = resp.get('taskId')
    if not task_id:
        print("tidak mendapatkan taskId:", res.text)
        return
    print('created taskId:', task_id)

    while True:
        time.sleep(1)
        data = {
            "clientKey": API_KEY,
            "taskId": task_id
        }
        response = requests.post('https://api.capsolver.com/getTaskResult', json=data)
        resp = response.json()
        status = resp.get('status', '')
        if status == "ready":
            print("berhasil => ", response.text)
            return resp.get('solution')
        if status == "failed" or resp.get("errorId"):
            print("gagal! => ", response.text)
            return


def request_site(solution):
    session = tls_client.Session(
        client_identifier="chrome_120",
        random_tls_extension_order=True
    )
    return session.get(
        page_url,
        headers=solution.get('headers'),
        cookies=solution.get('cookies'),
        proxy=proxy,
    )


def main():
    solution = {
        "headers": {
            "accept": "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7",
            "upgrade-insecure-requests": "1",
            "user-agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36",
            "sec-fetch-site": "none",
            "sec-fetch-mode": "navigate",
            "sec-fetch-user": "?1",
            "sec-fetch-dest": "document",
            "accept-encoding": "gzip, deflate, br",
            "accept-language": "en-US,en;q=0.9",
        }
    }
    # permintaan pertama (periksa proxy Anda):
    res = request_site(solution)
    print('1. kode status respons:', res.status_code)
    if res.status_code != 403:
        print("proxy Anda baik dan tidak mendapatkan tantangan Cloudflare")
        return
    elif 'window._cf_chl_opt' not in res.text:
        print('==== proxy diblokir ==== ')
        return

    # panggil capSolver:
    solution = call_capsolver()
    if not solution:
        return

    # permintaan kedua (verifikasi solusi):
    res = request_site(solution)
    print('2. kode status respons:', res.status_code)


if __name__ == '__main__':
    main()

Cloudflare Turnstile Captcha

Cloudflare Turnstile Captcha terlihat seperti:

  • Tantangan yang dikelola

  • Tantangan non-aktif

  • Tantangan yang tidak terlihat
    tidak terlihat, Anda bisa memeriksa di jaringan / skrip yang dimuat dan lihat apakah turnstile digunakan

Pastikan Anda perlu menyelesaikan Cloudflare Turnstile Captcha dan bukan Cloudflare Challenge 5s, untuk hanya Cloudflare Challenge, silakan terus membaca blog ini.

Ada beberapa persyaratan saat menyelesaikan tantangan ini menggunakan Capsolver.

  • Kunci API Capsolver

Mengirim informasi tugas ke Capsolver

json Copy
POST https://api.capsolver.com/createTask
Host: api.capsolver.com
Content-Type: application/json

{
  "clientKey": "YOUR_API_KEY",
  "task": {
    "type": "AntiTurnstileTaskProxyLess",
    "websiteURL": "https://www.yourwebsite.com",
    "websiteKey": "0x4XXXXXXXXXXXXXXXXX",
    "metadata": {
       "action": "login",  //opsional
       "cdata": "0000-1111-2222-3333-example-cdata"  //opsional
    }
  }
}

"action" dan "cdata" opsional, kadang diperlukan dan kadang tidak.
Tergantung pada konfigurasi situs web.
action adalah nilai atribut data-action dari elemen Turnstile jika ada.
cdata adalah nilai atribut data-cdata dari elemen Turnstile jika ada.
Setelah mengirim dengan benar, API akan mengembalikan taskId

json Copy
{
    "errorId": 0,
    "taskId": "014fc55c-46c9-41c8-9de7-6cb35d984edc",
    "status": "idle"
}

Dapatkan nilai taskId ini dan gunakan untuk mengambil hasil menggunakan metode getTaskResult

Mengambil hasil

json Copy
POST https://api.capsolver.com/getTaskResult
Host: api.capsolver.com
Content-Type: application/json

{
  "clientKey": "YOUR_API_KEY",
  "taskId": "taskId"
}

Tergantung pada beban sistem, Anda akan mendapatkan hasil dalam rentang 1s hingga 20s

Jika Anda menerima ERROR_CAPTCHA_SOLVE_FAILED dalam respons, bisa ada beberapa alasan:

  • Proxy Anda tidak perlu menyelesaikan Cloudflare Challenge 5s (Beberapa situs hanya mengaktifkan untuk proxy yang buruk, tindakan bot atau apa pun yang bisa memicu bahwa permintaan dibuat oleh bot). Kadang-kadang diaktifkan setiap saat, tergantung konfigurasinya.
  • Proxy Anda dilarang oleh Cloudflare dan sedang dalam loop yang tidak bisa melewati tantangan
  • Situs web tidak menggunakan Cloudflare Challenge, pastikan itu adalah tantangan dan bukan turnstile, periksa gambar contoh.
  • Proxy memberikan timeout, ini umum ketika menggunakan Residential Proxy

Jika Anda menerima respons sukses, akan terlihat seperti:

json Copy
{
    "errorId": 0,
    "taskId": "d1e1487a-2cd8-4d4a-aa4d-4ba5b6c65484",
    "status": "ready",
    "solution": {
        "token": "0.cZJPqwnyDxL86HvAXSk4lUTQhjwfyXDcR3qpVwFofuzosoKr1otKj_A-utazXx_Tnp1B2V6womrltBpRw9HbY851ktpaF7sBN-gQwtoRUew4Wj5PO4-WLYPnNRpXxludXzyQ.1oHJhu7619fb8c07ab942bd1587bc76e0e3cef95c7aa75400c4f7d3",
        "type": "turnstile",
        "userAgent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36"
    }
}

Dari respons ini, Anda perlu memproses nilai token dan ini akan menjadi solusi captcha yang perlu Anda kirim ke situs web.

Contoh untuk menyelesaikan Cloudflare Challenge dengan Python

python Copy
import time
from curl_cffi import requests

CAPSOLVER_API_KEY = "Kunci API CAPSOLVER.COM Anda"
PAGE_URL = ""
WEBSITE_KEY = ""

def solvecf(metadata_action=None, metadata_cdata=None):
    url = "https://api.capsolver.com/createTask"
    task = {
        "type": "AntiTurnstileTaskProxyLess",
        "websiteURL": PAGE_URL,
        "websiteKey": WEBSITE_KEY,
    }
    if metadata_action or metadata_cdata:
        task["metadata"] = {}
        if metadata_action:
            task["metadata"]["action"] = metadata_action
        if metadata_cdata:
            task["metadata"]["cdata"] = metadata_cdata
    data = {
        "clientKey": CAPSOLVER_API_KEY,
        "task": task
    }
    response_data = requests.post(url, json=data).json()
    print(response_data)
    return response_data['taskId']


def solutionGet(taskId):
    url = "https://api.capsolver.com/getTaskResult"
    status = ""
    while status != "ready":
        data = {"clientKey": CAPSOLVER_API_KEY, "taskId": taskId}
        response_data = requests.post(url, json=data).json()
        print(response_data)
        status = response_data.get('status', '')
        print(status)
        if status == "ready":
            return response_data['solution']

        time.sleep(2)


def main():
    start_time = time.time()
    
    taskId = solvecf()
    solution = solutionGet(taskId)
    if solution:
        user_agent = solution['userAgent']
        token = solution['token']

    print("User_Agent:", user_agent)
print("Captcha Turnstile berhasil diselesaikan, token:", token)

    end_time = time.time()
    elapsed_time = end_time - start_time
    print(f"Waktu untuk menyelesaikan captcha: {elapsed_time} detik")

if __name__ == "__main__":
    main()

Contoh untuk menyelesaikan tantangan Cloudflare dengan NodeJS

js Copy
const axios = require('axios');

const CAPSOLVER_API_KEY = "";
const PAGE_URL = "";
const WEBSITE_KEY = "";

async function solvecf(metadata_action = null, metadata_cdata = null) {
    const url = "https://api.capsolver.com/createTask";
    const task = {
        type: "AntiTurnstileTaskProxyLess",
        websiteURL: PAGE_URL,
        websiteKey: WEBSITE_KEY,
    };
    if (metadata_action || metadata_cdata) {
        task.metadata = {};
        if (metadata_action) {
            task.metadata.action = metadata_action;
        }
        if (metadata_cdata) {
            task.metadata.cdata = metadata_cdata;
        }
    }
    const data = {
        clientKey: CAPSOLVER_API_KEY,
        task: task
    };
    const response = await axios.post(url, data);
    console.log(response.data);
    return response.data.taskId;
}

async function solutionGet(taskId) {
    const url = "https://api.capsolver.com/getTaskResult";
    let status = "";
    while (status !== "ready") {
        const data = { clientKey: CAPSOLVER_API_KEY, taskId: taskId };
        const response = await axios.post(url, data);
        console.log(response.data);
        status = response.data.status;
        console.log(status);
        if (status === "ready") {
            return response.data.solution;
        }
        await new Promise(resolve => setTimeout(resolve, 2000));
    }
}

async function main() {
    const start_time = Date.now();
    
    const taskId = await solvecf();
    const solution = await solutionGet(taskId);
    if (solution) {
        const user_agent = solution.userAgent;
        const token = solution.token;

        console.log("User_Agent:", user_agent);
        console.log("Captcha Turnstile berhasil diselesaikan, token:", token);
    }

    const end_time = Date.now();
    const elapsed_time = (end_time - start_time) / 1000;
    console.log(`Waktu untuk menyelesaikan captcha: ${elapsed_time} detik`);
}

main().catch(console.error);

🏁 Kesimpulan

Cloudflare menerapkan berbagai mekanisme perlindungan — dari blok HTTP standar seperti 1020, 403, 429 (1015) hingga tantangan yang lebih canggih seperti Tantangan Cloudflare 5 detik dan Captcha Turnstile. Saat melakukan scraping web atau otomatisasi, mengidentifikasi mekanisme perlindungan yang aktif adalah langkah pertama yang penting.

Panduan ini menjelaskan kode status Cloudflare yang umum, cara membedakan Tantangan 5 detik vs Captcha Turnstile, dan memberikan contoh kerja untuk menyelesaikannya menggunakan Capsolver API, termasuk implementasi Python & NodeJS.

Dengan memilih pendekatan yang tepat — proxy yang berputar, header yang tepat, perlindungan fingerprint, atau menyelesaikan CAPTCHA/Tantangan secara programatis — Anda dapat meningkatkan signifikansi tingkat keberhasilan scraping dan mengurangi pemblokiran.

Jika permintaan Anda masih ditandai sebagai terlarang, audit pengaturan scraper Anda: kualitas proxy, header, fingerprint TLS, dan frekuensi permintaan seringkali sepenting dengan solver CAPTCHA itu sendiri.


❓ Pertanyaan yang Sering Diajukan (FAQ)

1. Bagaimana cara saya tahu apakah saya menghadapi Tantangan Cloudflare 5 detik atau Captcha Turnstile?

Periksa antarmuka pengguna atau permintaan jaringan.

  • Jika halaman "Verifying your browser..." 5 detik muncul → Tantangan 5 detik
  • Jika widget dengan verifikasi muncul (atau generasi token yang tidak terlihat) → Captcha Turnstile

2. Mengapa saya masih diblokir bahkan setelah menyelesaikan tantangan?

Alasan mungkin:

  • Proxy yang digunakan telah diblokir atau berkualitas rendah
  • Header yang hilang atau salah saat menggunakan solusi
  • Tidak mempertahankan proxy yang sama selama permintaan
  • Ketidakcocokan fingerprint TLS

3. Apakah saya selalu memerlukan proxy saat menyelesaikan Cloudflare?

  • Tantangan 5 detik memerlukan proxy
  • Captcha Turnstile bisa tanpa proxy, tetapi proxy bisa membantu melewati pembatasan di situs yang sensitif

4. Bisakah saya mengotomasi penyelesaian Cloudflare secara skala?

Ya. Dengan proxy yang baik, fingerprint yang berubah, dan logika penggunaan token kembali, Anda dapat mengembangkan scraping — pastikan kepatuhan terhadap ketentuan situs web dan persyaratan hukum setempat.

5. Apakah Captcha Turnstile lebih sulit diselesaikan dibanding Tantangan 5 detik?

Captcha Turnstile biasanya lebih mudah karena biasanya mengembalikan satu token. Tantangan 5 detik memerlukan cookies, header, dan konsistensi proxy, sehingga lebih kompleks.

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 Cloudflare Saat Web Scraping pada 2025 | Panduan Langkah demi Langkah
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.

Cloudflare
Logo of CapSolver

Anh Tuan

09-Dec-2025

Cara mengatasi CAPTCHA Cloudflare Turnstile dengan NodeJS
Cara mengatasi Cloudflare Turnstile Captcha dengan NodeJS

Dalam artikel ini, kami akan menunjukkan kepada Anda cara menyelesaikan cloudflare turnstile captcha dengan NodeJS.

Cloudflare
Logo of CapSolver

Nikolai Smirnov

08-Dec-2025

Cloudflare 403 dilarang
Cara Mengatasi Error 403 Dilarang dan 522/1020/1010/1015/1012

Cloudflare adalah layanan jaringan pengiriman konten (CDN) dan keamanan yang digunakan secara luas untuk membantu situs web mengurangi berbagai ancaman, termasuk serangan DDoS dan bot yang tidak sah...

Cloudflare
Logo of CapSolver

Anh Tuan

08-Dec-2025

Kesalahan Cloudflare 1006, 1007, 1008
Solusi Penyelesaian Error Cloudflare 1006, 1007, 1008 | Cara Mengatasi

Kesulitan dengan kesalahan Cloudflare 1006, 1007, atau 1008? Pelajari solusi praktis untuk menyelesaikan penolakan akses ini dan tingkatkan pengalaman crawling web Anda.

Cloudflare
Logo of CapSolver

Emma Foster

05-Dec-2025

Cara Mengidentifikasi Apakah `action` Diperlukan untuk Menyelesaikan Cloudflare Turnstile Menggunakan Ekstensi CapSolver
Cara mengidentifikasi apakah `action` diperlukan untuk mengatasi Cloudflare Turnstile menggunakan ekstensi CapSolver

Pelajari cara mengidentifikasi tindakan untuk penyelesaian CAPTCHA yang efektif Cloudflare Turnstile. Ikuti panduan langkah demi langkah kami dalam menggunakan alat dan teknik Capsolver.

Cloudflare
Logo of CapSolver

Anh Tuan

05-Dec-2025

Cara Mengotomasi Menyelesaikan Tantangan Cloudflare di Selenium
Cara Mengotomasi Penyelesaian Tantangan Cloudflare dengan Selenium

Menguasai strategi paling efektif untuk menyelesaikan tantangan Cloudflare dalam Selenium. Gunakan Undetected-Chromedriver, mimikri perilaku, dan API CapSolver untuk otomatisasi web yang andal.

Cloudflare
Logo of CapSolver

Ethan Collins

04-Dec-2025