Sprache ändern
Deutsch English Русский Español Français Italiano Українська Tiếng Việt Türkçe Bahasa Indonesia हिन्दी 日本語 中文
Menü
Preise
Proxys
PROXY-TYPEN
NACH STANDORT77 Standorte
Lösungen
Ressourcen

So nutzen Sie einen Proxy mit Selenium

Betreiben Sie Chrome oder Firefox unter Selenium über eine statische ISP-Adresse. Jedes Beispiel auf dieser Seite wurde vor der Veröffentlichung gegen einen lokalen Proxy ausgeführt, und was nicht funktioniert hat, wird offen benannt.

Kurz gesagt: Übergeben Sie in Chrome --proxy-server=http://HOST:PORT als Argument; setzen Sie in Firefox einen manuellen Proxy in den Optionen. Firefox kann die Passwortabfrage des Proxys über den WebDriver-BiDi-Handler von Selenium beantworten, add_authentication_handler. Chrome konnte das in unserem Test nicht: Es ignoriert Zugangsdaten in --proxy-server, und beide BiDi-Handler liefen in einen Timeout. Tragen Sie für Chrome die IP, von der Ihre Tests laufen, in die Whitelist des Proxys ein; dann braucht der Proxy keine Zugangsdaten, über HTTP oder SOCKS5.

Selenium leitet Traffic nicht selbst weiter: Es startet einen Browser und übergibt ihm den Proxy als Teil der Browseroptionen. Deshalb unterscheidet sich die Antwort zwischen Chrome und Firefox, und deshalb scheitern die meisten Einrichtungen an der Proxy-Authentifizierung.

Python Selenium Proxy für Chrome und Firefox

Chrome liest den Proxy aus einem Kommandozeilen-Switch, Firefox aus einem Proxy-Objekt in seinen Optionen. Beide akzeptieren einen Proxy mit Whitelist ohne weitere Einrichtung; Firefox kann außerdem die Passwortabfrage des Proxys über WebDriver BiDi beantworten, was Chrome in unserem Test nicht getan hat.

Einen Proxy in Selenium setzen

  1. Die öffentliche IP ermitteln, von der Ihre Tests laufen

    Die Adresse des Rechners oder CI-Runners, wie das Internet sie sieht, nicht seine lokale. Was ist meine IP zeigt sie an.

  2. Diese IP in die Whitelist des Proxys eintragen

    Ein API-Aufruf, PUT /orders/ORDER_ID/whitelist, oder das Tool set_proxy_whitelist des MCP-Servers; im Dashboard gibt es dafür noch keine Einstellung. Die Whitelist nimmt IPv4-Adressen auf und ersetzt die Liste bei jedem Aufruf. Solange eine Whitelist gesetzt ist, lässt der Proxy nur die eingetragenen Adressen zu, und Benutzername und Passwort funktionieren für diese Bestellung nicht mehr; senden Sie eine leere Liste, ist die Whitelist ausgeschaltet und die Anmeldung mit Passwort funktioniert wieder.

  3. Host und Port aus der Bestellung kopieren

    Aus Meine Proxys oder der API. Mit der Whitelist sind Benutzername und Passwort nicht nötig.

  4. Den Proxy in den Browseroptionen setzen

    Chrome: --proxy-server=http://HOST:PORT, oder socks5://HOST:PORT, nachdem der Proxy auf SOCKS5 umgeschaltet ist. Firefox: ein manueller Proxy mit httpProxy und sslProxy.

  5. Eine Seite öffnen und die Ausgangsadresse prüfen

    Laden Sie What Is My IP einmal im gesteuerten Browser und prüfen Sie, dass dort die gekaufte Adresse steht; führen Sie dann die Suite aus.

# 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()
# 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()
# 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()
# 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()
# 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"]}'

Getesteter Code für Selenium 4 in Python

Das Firefox-Beispiel mit Passwort sendet Benutzername und Passwort und braucht daher eine Bestellung ohne gesetzte Whitelist. Die anderen Browser-Beispiele setzen voraus, dass die IP Ihres Rechners in der Whitelist des Proxys steht; für das SOCKS5-Beispiel muss der Proxy außerdem zuerst auf SOCKS5 umgeschaltet werden, was einen neuen Port ergibt. Ersetzen Sie die großgeschriebenen Platzhalter durch die Werte Ihrer Bestellung, im Whitelist-Aufruf auch ORDER_ID, YOUR_API_KEY und YOUR_IP.

Vollständige API-Dokumentation

Proxy-Optionen in Selenium, Browser für Browser

Getestet am 2026-10-22 mit Selenium 4.51, Chrome und Firefox im Headless-Modus, gegen einen lokalen Proxy, der auf einem Port ein Passwort verlangte und auf einem anderen einen Client aus der Whitelist annahm.
HTTP-ProxySOCKS5-ProxyBenutzername und Passwort
Chrome--proxy-server=http://HOST:PORT--proxy-server=socks5://HOST:PORTIn --proxy-server ignoriert; nutzen Sie die Whitelist
FirefoxProxy mit httpProxy und sslProxyProxy mit socksProxy und socksVersion 5Hat über add_authentication_handler (BiDi) funktioniert, über HTTP
Chrome, BiDi-Handleradd_auth_handler und add_authentication_handler liefen beide in einen TimeoutNicht getestetNutzen Sie die Whitelist, bis eine spätere Version von Selenium oder Chrome das ändert

Was bei Selenium und Proxys schiefgeht

Zugangsdaten in --proxy-server

Chrome entfernt Benutzername und Passwort aus diesem Argument ohne Fehlermeldung, verbindet sich ohne sie und erhält vom Proxy eine 407. Die Seite lädt dann nicht, was nach einem Netzwerkproblem aussieht und nicht nach einem Problem mit der Authentifizierung.

Der Treiber-Download läuft über den Proxy

Enthalten die Firefox-Optionen einen Proxy, lädt Selenium Manager den Treiber über genau diesen Proxy herunter. Bei einem Proxy, der nur ein Passwort akzeptiert, scheitert dieser Download, bevor der Browser startet; mit der Whitelist gelingt er.

Die Whitelist enthält die falsche Adresse

Ein CI-Runner geht oft von einer anderen öffentlichen IP aus als Ihr Laptop, und manche wechseln sie zwischen den Läufen. Tragen Sie die Adresse ein, von der die Tests laufen, und aktualisieren Sie sie, wenn sie sich ändert, denn jeder Aufruf ersetzt die Liste.

SOCKS5 im Browser vor dem Umschalten

Eine auf HTTP eingestellte Adresse antwortet nicht auf SOCKS5. Schalten Sie den Proxy zuerst in Ihrer Bestellung um und verwenden Sie den Port, den sie danach zeigt; wer nur das Schema im Argument ändert, bekommt einen Browser, der sich nicht verbinden kann.

Was ein Browsertest von der Adresse bekommt

Kein Passwort im Browser
Die Whitelist lässt die IPv4-Adresse Ihres Runners zu, sodass kein Geheimnis in Optionen oder Logs steht
Beide Browser-Schemata
http:// für gewöhnliche Seiten, socks5://, sobald die Bestellung umgeschaltet ist
Bei jedem Lauf derselbe Ursprung
Der Lauf von gestern und der von heute gehen von einer IP aus, die für den ganzen Abrechnungszeitraum gehalten wird
Parallele Treiber
Mehrere Treiber können sich die Adresse teilen, oder jeder Treiber bekommt seine eigene

Weitere Anleitungen und das Produkt

Fragen zu Proxys in Selenium

Wie nutze ich einen Proxy mit Authentifizierung in Selenium?

Aktivieren Sie in Firefox WebDriver BiDi und registrieren Sie mit driver.network.add_authentication_handler einen Handler, der Benutzername und Passwort liefert; das hat mit Selenium 4.51 funktioniert. In Chrome hat in unserem Test nichts funktioniert, was Zugangsdaten sendet: Es ignoriert sie im Proxy-Switch, und beide BiDi-Handler liefen in einen Timeout. Tragen Sie für Chrome die öffentliche IP, von der Ihre Tests laufen, in die Whitelist ein; dann verbindet sich der Browser ganz ohne Zugangsdaten.

Wie richte ich in Python Selenium einen Proxy für Chrome ein?

Legen Sie ChromeOptions an, fügen Sie das Argument --proxy-server=http://HOST:PORT hinzu und übergeben Sie die Optionen an webdriver.Chrome. Für SOCKS5 schalten Sie den Proxy in Ihrer Bestellung auf SOCKS5 um und verwenden socks5://HOST:PORT mit dem Port, den die Bestellung danach zeigt.

Funktioniert die IP-Whitelist mit SOCKS5?

Ja. Eine Adresse aus der Whitelist wird über HTTP und über SOCKS5 ohne Zugangsdaten angenommen, und genau das macht SOCKS5 in Chrome nutzbar, denn Chrome kann für SOCKS5 keinen Benutzernamen und kein Passwort senden. Die Whitelist wird über die API oder den MCP-Server gesetzt und nimmt IPv4-Adressen auf. SOCKS5

Kann jeder Browser einer Testsuite einen anderen Proxy nutzen?

Ja, einen pro Treiber: Der Proxy gehört zu den Optionen, mit denen ein Treiber startet, also können zwei Treiber zwei Adressen nutzen. Den Proxy eines laufenden Chrome zu ändern ist nicht möglich; starten Sie stattdessen einen neuen Treiber.

Wechselt eine lange Suite mittendrin die Adresse?

Nein. Der Treiber behält die Adresse, mit der er gestartet ist, bis er beendet wird, und die Adresse selbst bleibt Ihnen für den ganzen Abrechnungszeitraum zugewiesen. Suiten, die viele Ursprünge gleichzeitig brauchen, bräuchten einen Pool, der sie wechselt, und der ist noch nicht im Verkauf.

Wofür darf ich den Proxy nutzen?

End-to-End-Tests Ihres eigenen Produkts, regionale Prüfungen Ihres Shops, Anzeigenüberprüfung, Preisforschung und Markenschutz laufen nach unserer Richtlinie zur zulässigen Nutzung ohne vorherige Prüfung. Einen Browser zu steuern, um CAPTCHAs, Bot-Abwehr, Ratenlimits oder Kontosperren auszuhebeln, ist etwas anderes: Die Adresse leistet das nicht, und die Richtlinie verbietet den Versuch. Richtlinie zur zulässigen Nutzung

Eine statische Adresse hält Browsertests wiederholbar: Dieselbe Suite kommt nächste Woche vom selben Ort aus an, sodass eine Änderung im Ergebnis von der Website stammt. Bestellen Sie eine Adresse auf der Seite ISP-Proxys, sehen Sie sich die Preise an, und setzen Sie dieselbe Adresse in einfachen HTTP-Aufrufen mit der Anleitung für Python requests.

Quellen