Cara setting proxy berotentikasi di Selenium WebDriver
Diperbarui:
Flag standar ChromeDriver --proxy-server=http://ip:port mengabaikan kredensial user:pass dan memunculkan jendela dialog login yang menghalangi automasi. Untuk menggunakan proxy HTTP(S) berotentikasi dari VinaProxy secara bersih di Selenium, teruskan kredensial Anda melalui selenium-wire atau muat ekstensi latar belakang Chrome onAuthRequired sederhana.
http://user:pass@ip:port (selenium-wire / Chrome proxy extension)- 1 IP₫40.000
- 5+ IP₫35.000
- 10+ IP₫25.000
- 20+ IP₫25.000
- 50+ IP₫25.000
- 100+ IP₫25.000
- 200+ IP₫25.000
- 500+ IP₫25.000
- 1000+ IP₫22.000
- 2000+ IP₫20.000
- 1 IP₫75.000
- 3+ IP₫70.000
- 5+ IP₫65.000
- 10+ IP₫60.000
- 50+ IP₫60.000
- 100+ IP₫60.000
- 200+ IP₫60.000
- 500+ IP₫55.000
Dua cara andal untuk mengautentikasi proxy di Selenium
Pilihlah pendekatan yang sesuai dengan bahasa pemrograman dan driver browser Anda:
| Pendekatan | Sintaks Konfigurasi | Paling Cocok Untuk |
|---|---|---|
selenium-wire (Python) | seleniumwire_options={'proxy': {'http': 'http://user:pass@ip:port', 'https': 'http://user:pass@ip:port'}} | Paling cepat di Python; mendukung pergantian proxy dinamis di tengah sesi |
| Ekstensi Chrome Auth | Muat ekstensi ZIP yang menangani chrome.webRequest.onAuthRequired | Selenium standar di Python, Java, C#, serta undetected-chromedriver |
| Migrasi ke Playwright | browser.newContext({ proxy: { server, username, password } }) | Autentikasi proxy bawaan per-konteks tanpa memerlukan ekstensi sama sekali |
Tips performa untuk scraping Selenium lewat proxy
- Atur
options.page_load_strategy = 'eager'agar WebDriver dapat berinteraksi begitu DOM siap tanpa menunggu tracker pihak ketiga yang lambat - Gunakan
--headless=new(Chrome 109+) jika berjalan di mode headless agar ekstensi Chrome dan autentikasi proxy berfungsi persis seperti mode tampilan - Nonaktifkan pemuatan gambar lewat preferensi Chrome ketika melakukan scraping data teks untuk menghemat kuota dan mempercepat pemrosesan
- Selalu bungkus kode driver Anda di dalam blok
try / finally: driver.quit()untuk mencegah proses Chromium menjadi zombie di sistem
Langkah demi langkah
- 1
Instal selenium-wire
Jalankan
pip install selenium-wiredi virtual environment Python Anda. - 2
Definisikan kamus proxy VinaProxy
Format kredensial:
sw_options = {'proxy': {'http': 'http://user:pass@ip:port', 'https': 'http://user:pass@ip:port'}}. - 3
Jalankan webdriver.Chrome dengan seleniumwire_options
Inisialisasi browser:
driver = webdriver.Chrome(seleniumwire_options=sw_options). - 4
Verifikasi alamat IP keluar
Buka
driver.get('https://vinaproxy.com/api/my-ip')dan pastikan respon JSON menampilkan IP proxy Anda.
Pertanyaan umum
Mengapa '--proxy-server=http://user:pass@ip:port' tidak bekerja di ChromeOptions?
Chromium sengaja menghapus parameter user:pass@ dari flag --proxy-server. Menggunakan selenium-wire, ekstensi onAuthRequired, atau beralih ke Playwright adalah solusi yang tepat.
Bisakah saya mengganti proxy tanpa memulai ulang Chrome di selenium-wire?
Bisa. Berikan kamus baru ke driver.proxy = {'http': 'http://...', 'https': 'http://...'} kapan saja untuk mengganti proxy secara langsung.
Apakah ekstensi proxy Chrome bekerja dalam mode headless?
Ya, asalkan Anda menggunakan flag modern --headless=new dan bukan flag lama --headless.
Jalankan Selenium WebDriver dalam skala besar dengan IP statis tanpa batas
Proxy IPv4 khusus dan ISP statis instan di 7 negara strategis.
Beli Proxy Selenium