# Proxy Selenium: Chrome dan Firefox dengan IP ISP Statis | ProxyJam

Cara mengatur proxy di Selenium untuk Chrome dan Firefox, mengapa kredensial di --proxy-server gagal, dan bagaimana whitelist IP menggantikannya. Kode Python teruji.

- Canonical: https://proxyjam.com/id/integrations/selenium/
- Updated: 2026-10-23
- Language: id

Jalankan Chrome atau Firefox di bawah Selenium melalui satu alamat ISP statis. Setiap contoh di halaman ini dijalankan terhadap proxy lokal sebelum diterbitkan, dan apa yang tidak berhasil disebutkan terus terang.


Di Chrome, berikan `--proxy-server=http://HOST:PORT` sebagai argumen; di Firefox, atur Proxy manual pada options. Firefox bisa menjawab permintaan kata sandi dari proxy melalui handler WebDriver BiDi milik Selenium, `add_authentication_handler`. Chrome tidak bisa dalam pengujian kami: ia mengabaikan kredensial di `--proxy-server`, dan kedua handler BiDi mengalami timeout. Untuk Chrome, masukkan IP tempat pengujian Anda berjalan ke whitelist proxy, dan proxy tidak memerlukan kredensial, lewat HTTP maupun SOCKS5.


## Mengatur proxy di Selenium

1. **Cari IP publik tempat pengujian Anda berjalan** Alamat mesin atau runner CI sebagaimana dilihat internet, bukan alamat lokalnya. [Berapa IP Saya](/id/what-is-my-ip/) menampilkannya.
2. **Masukkan IP itu ke whitelist proxy** Satu panggilan API, `PUT /orders/ORDER_ID/whitelist`, atau tool `set_proxy_whitelist` dari server MCP; dasbor belum punya kontrol untuk ini. Whitelist menerima alamat IPv4 dan menggantikan daftarnya setiap kali. Selama whitelist diatur, proxy hanya menerima alamat yang terdaftar dan nama pengguna serta kata sandi berhenti berfungsi untuk pesanan itu; mengirim daftar kosong mematikan whitelist dan login dengan kata sandi berfungsi lagi.
3. **Salin host dan port dari pesanan** Dari Proxy Saya atau API. Dengan whitelist terpasang, nama pengguna dan kata sandi tidak diperlukan.
4. **Atur proxy pada options browser** Chrome: `--proxy-server=http://HOST:PORT`, atau `socks5://HOST:PORT` setelah proxy dialihkan ke SOCKS5. Firefox: `Proxy` manual dengan `httpProxy` dan `sslProxy`.
5. **Buka halaman dan cek alamat keluar** Muat Berapa IP Saya sekali di browser yang dikendalikan dan pastikan halaman itu menampilkan alamat yang Anda beli, lalu jalankan suite pengujian.

## Kode teruji untuk Selenium 4 di Python

Contoh kata sandi Firefox mengirim nama pengguna dan kata sandi, jadi memerlukan pesanan tanpa whitelist. Contoh browser lainnya mengasumsikan IP mesin Anda ada di whitelist proxy; contoh SOCKS5 juga mengharuskan proxy dialihkan ke SOCKS5 terlebih dahulu, yang memberi port baru. Ganti nilai berhuruf kapital dengan nilai dari pesanan Anda, serta ORDER_ID, YOUR_API_KEY, dan YOUR_IP di panggilan whitelist.

### Chrome

Chrome melalui proxy HTTP.

```
# The proxy has your machine's IP on its whitelist, so no credentials
# are sent: Chrome ignores them in --proxy-server anyway.
from selenium import webdriver

options = webdriver.ChromeOptions()
options.add_argument("--headless=new")  # remove to watch the browser
options.add_argument("--proxy-server=http://HOST:PORT")

driver = webdriver.Chrome(options=options)
try:
    driver.get("https://example.com/")
    print(driver.title)
finally:
    driver.quit()
```

### Firefox kata sandi

Firefox menjawab permintaan kata sandi dari proxy.

```
# Selenium 4.51+ with WebDriver BiDi; pip install selenium
from selenium import webdriver
from selenium.webdriver.common.proxy import Proxy, ProxyType

options = webdriver.FirefoxOptions()
options.enable_bidi = True
options.add_argument("-headless")  # remove to watch the browser
options.proxy = Proxy({
    "proxyType": ProxyType.MANUAL,
    "httpProxy": "HOST:PORT",
    "sslProxy": "HOST:PORT",
})

driver = webdriver.Firefox(options=options)
try:
    # Answers the proxy's 407 with your username and password
    driver.network.add_authentication_handler(
        lambda request: request.provide_credentials("USERNAME", "PASSWORD")
    )
    driver.get("https://example.com/")
    print(driver.title)
finally:
    driver.quit()
```

### Firefox

Firefox melalui proxy HTTP yang di-whitelist.

```
# The proxy has your machine's IP on its whitelist, so no credentials
# are sent. For a password instead, see selenium-firefox-auth.
from selenium import webdriver
from selenium.webdriver.common.proxy import Proxy, ProxyType

options = webdriver.FirefoxOptions()
options.add_argument("-headless")  # remove to watch the browser
options.proxy = Proxy({
    "proxyType": ProxyType.MANUAL,
    "httpProxy": "HOST:PORT",
    "sslProxy": "HOST:PORT",
})

driver = webdriver.Firefox(options=options)
try:
    driver.get("https://example.com/")
    print(driver.title)
finally:
    driver.quit()
```

### Chrome SOCKS5

Chrome melalui proxy SOCKS5.

```
# Switch the proxy to SOCKS5 first, then use the port the order shows.
# The whitelist applies to SOCKS5 as well, so no credentials here either.
from selenium import webdriver

options = webdriver.ChromeOptions()
options.add_argument("--headless=new")  # remove to watch the browser
options.add_argument("--proxy-server=socks5://HOST:PORT")

driver = webdriver.Chrome(options=options)
try:
    driver.get("https://example.com/")
    print(driver.title)
finally:
    driver.quit()
```

### Panggilan whitelist

Tambahkan IP Anda ke whitelist proxy.

```
# Put the public IPv4 address your code runs from on the proxy's
# whitelist. Replaces the list; an empty list turns whitelisting off
# and the proxy falls back to username and password.
curl -X PUT "https://api.proxyjam.com/public/v1/orders/ORDER_ID/whitelist" \
  -H "X-API-Key: YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"whitelisted_ips": ["YOUR_IP"]}'
```


## Opsi proxy di Selenium, per browser

|  | Proxy HTTP | Proxy SOCKS5 | Nama pengguna dan kata sandi |
|---|---|---|---|
| Chrome | --proxy-server=http://HOST:PORT | --proxy-server=socks5://HOST:PORT | Diabaikan di --proxy-server; pakai whitelist |
| Firefox | Proxy dengan httpProxy dan sslProxy | Proxy dengan socksProxy dan socksVersion 5 | Berhasil melalui add_authentication_handler (BiDi), lewat HTTP |
| Chrome, handler BiDi | add_auth_handler dan add_authentication_handler sama-sama timeout | Tidak diuji | Pakai whitelist sampai versi Selenium atau Chrome berikutnya mengubah hal ini |

Diuji pada 2026-10-22 dengan Selenium 4.51, Chrome dan Firefox dalam mode headless, terhadap proxy lokal yang meminta kata sandi di satu port dan menerima klien yang di-whitelist di port lain.


## Apa yang didapat pengujian browser dari alamat ini

- **Tanpa kata sandi di browser:** Whitelist menerima alamat IPv4 runner Anda, jadi tidak ada rahasia yang tersimpan di options atau log
- **Kedua skema browser:** http:// untuk halaman biasa, socks5:// setelah pesanan dialihkan
- **Asal yang sama setiap run:** Run kemarin dan hari ini keluar dari satu IP, yang dipegang selama seluruh periode penagihan
- **Driver paralel:** Beberapa driver boleh berbagi alamat, atau setiap driver boleh mendapat alamatnya sendiri

## Apa yang salah dengan Selenium dan proxy

### Kredensial di dalam --proxy-server

Chrome membuang nama pengguna dan kata sandi dari argumen itu tanpa error, terhubung tanpa keduanya, dan mendapat 407 dari proxy. Halaman lalu gagal dimuat, dan itu terlihat seperti masalah jaringan, bukan masalah autentikasi.

### Unduhan driver lewat proxy

Jika options Firefox membawa proxy, Selenium Manager mengunduh driver melalui proxy yang sama. Dengan proxy yang hanya memakai kata sandi, unduhan itu gagal sebelum browser dimulai; dengan whitelist, unduhan berhasil.

### Whitelist berisi alamat yang salah

Runner CI sering keluar dari IP publik yang berbeda dari laptop Anda, dan sebagian berganti di antara run. Masukkan ke whitelist alamat tempat pengujian berjalan, dan perbarui saat alamat itu berubah, karena setiap panggilan menggantikan daftarnya.

### SOCKS5 di browser sebelum dialihkan

Alamat yang diatur ke HTTP tidak menjawab SOCKS5. Alihkan proxy pada pesanan Anda terlebih dahulu dan pakai port yang kemudian ditampilkan; mengganti skema di argumen saja menghasilkan browser yang tidak bisa terhubung.


## Pertanyaan tentang proxy di Selenium

### Bagaimana cara memakai proxy dengan autentikasi di Selenium?

Di Firefox, aktifkan WebDriver BiDi dan daftarkan handler dengan driver.network.add_authentication_handler yang memberikan nama pengguna dan kata sandi; cara ini berhasil dengan Selenium 4.51. Di Chrome, tidak ada cara mengirim kredensial yang berhasil dalam pengujian kami: ia mengabaikannya di switch proxy, dan kedua handler BiDi mengalami timeout. Untuk Chrome, masukkan IP publik tempat pengujian Anda berjalan ke whitelist, dan browser terhubung tanpa kredensial sama sekali.

### Bagaimana cara menyiapkan proxy di Python Selenium untuk Chrome?

Buat ChromeOptions, tambahkan argumen --proxy-server=http://HOST:PORT, lalu berikan options tersebut ke webdriver.Chrome. Untuk SOCKS5, alihkan proxy ke SOCKS5 pada pesanan Anda dan pakai socks5://HOST:PORT dengan port yang kemudian ditampilkan pesanan.

### Apakah whitelist IP berfungsi dengan SOCKS5?

Ya. Alamat yang di-whitelist diterima tanpa kredensial lewat HTTP maupun SOCKS5, dan itulah yang membuat SOCKS5 bisa dipakai dari Chrome, karena Chrome tidak bisa mengirim nama pengguna dan kata sandi SOCKS5. Whitelist diatur melalui API atau server MCP dan menerima alamat IPv4.

### Bisakah setiap browser dalam suite pengujian memakai proxy berbeda?

Bisa, satu per driver: proxy adalah bagian dari options yang dipakai driver saat dimulai, jadi dua driver bisa memakai dua alamat. Proxy pada Chrome yang sedang berjalan tidak bisa diganti; mulai driver baru sebagai gantinya.

### Apakah suite yang panjang akan berganti alamat di tengah jalan?

Tidak. Driver mempertahankan alamat yang dipakainya saat mulai sampai ditutup, dan alamat itu sendiri tetap dialokasikan untuk Anda selama seluruh periode penagihan. Suite yang memerlukan banyak asal sekaligus akan membutuhkan pool yang menggantinya, dan itu belum dijual.

### Untuk apa saya boleh memakai proxy ini?

Pengujian end-to-end produk Anda sendiri, pemeriksaan regional toko online Anda, verifikasi iklan, riset harga, dan perlindungan merek semuanya berjalan tanpa peninjauan sebelumnya menurut kebijakan penggunaan yang dapat diterima kami. Mengendalikan browser untuk mengalahkan CAPTCHA, pertahanan bot, batas laju, atau pemblokiran akun adalah perkara lain: alamat ini tidak melakukannya, dan kebijakan tersebut melarang mencobanya.


Alamat statis membuat pengujian browser bisa diulang: suite yang sama, dijalankan minggu depan, datang dari tempat yang sama, sehingga perubahan pada hasil berasal dari situsnya. Pesan alamat di [Proxy ISP](/id/isp-proxies/), lihat [harga](/id/pricing/), dan atur alamat yang sama di panggilan HTTP biasa dengan panduan [Python requests](/id/integrations/python-requests/).



## Sumber

- [Selenium documentation, Proxy](https://www.selenium.dev/documentation/webdriver/drivers/options/#proxy): mengatur proxy pada options browser
- [Selenium documentation, Selenium Manager](https://www.selenium.dev/documentation/selenium_manager/): cara driver diunduh, dan bahwa proxy yang dikonfigurasi dipakai untuk itu
- [Chromium, network settings](https://www.chromium.org/developers/design-documents/network-settings/): switch `--proxy-server` dan skemanya




Selenium tidak merutekan trafik sendiri: ia memulai browser dan memberikan proxy sebagai bagian dari options browser itu. Karena itulah jawabannya berbeda antara Chrome dan Firefox, dan karena itu pula autentikasi proxy menjadi titik gagal sebagian besar penyiapan.

## Proxy Python Selenium untuk Chrome dan Firefox

Chrome membaca proxy dari switch command-line, Firefox dari objek proxy di options-nya. Keduanya menerima proxy yang di-whitelist tanpa penyiapan tambahan; Firefox juga bisa menjawab permintaan kata sandi dari proxy melalui WebDriver BiDi, yang tidak dilakukan Chrome dalam pengujian kami.

