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 Playwright

Geben Sie Playwright eine statische ISP-Adresse, beim Start oder für einen einzelnen Browserkontext. Die Beispiele wurden vor der Veröffentlichung in Chromium, Firefox und WebKit gegen einen lokalen Proxy ausgeführt.

Kurz gesagt: Übergeben Sie proxy mit server, username und password an chromium.launch oder an browser.new_context, um ihn auf einen Kontext zu beschränken. Über HTTP authentifizieren sich alle drei Engines mit diesen Feldern. Über SOCKS5 akzeptiert keine von ihnen Benutzername und Passwort: Playwright verweigert den Start. Tragen Sie Ihre IP in die Whitelist des Proxys ein und geben Sie nur den socks5://-Server an.

Playwright steuert Chromium, Firefox und WebKit über eine einzige API, und der Proxy ist Teil dessen, wie ein Browser oder ein Kontext erzeugt wird. Das macht es leicht, in einem Skript mehrere Adressen zu betreiben, und genau dort liegt auch seine eine harte Grenze: SOCKS5 mit Passwort.

Playwright Proxy in Python

Das Python-Beispiel startet Chromium mit dem Proxy für den ganzen Browser; das Beispiel pro Kontext beschränkt ihn stattdessen auf einen Kontext. Die Engine zu wechseln heißt, chromium durch firefox oder webkit zu ersetzen; das Proxy-Objekt bleibt gleich.

Playwright Proxy-Authentifizierung

Die drei Engines beantworten die 407 des Proxys mit Benutzername und Passwort aus dem Proxy-Objekt, wenn der Proxy HTTP spricht. Ein SOCKS5-Proxy bekommt von keiner von ihnen eine solche Antwort, deshalb enthält das SOCKS5-Beispiel keine Zugangsdaten und stützt sich auf die Whitelist.

Playwright Proxy pro Seite und bypass

Ein Proxy lässt sich nicht an eine einzelne Seite hängen. Die Einheit ist der Kontext: Legen Sie einen Kontext pro Adresse an und öffnen Sie darin die Seiten, die sich diese Adresse teilen sollen. Kontexte kosten in Playwright wenig, sodass ein Skript, das einen Shop aus drei Ländern prüft, drei Kontexte hält, jeden aus seiner eigenen Bestellung gebaut.

Das Proxy-Objekt nimmt außerdem ein Feld bypass, eine kommagetrennte Liste von Hosts, die direkt erreicht werden sollen. Nutzen Sie es für Ihre eigenen internen Dienste oder einen lokalen Testserver, damit nur der Traffic, der für die Außenwelt bestimmt ist, über die Adresse hinausgeht, für die Sie bezahlen.

Einen Proxy in Playwright setzen

  1. Host, Port, Benutzername und Passwort kopieren

    Aus Meine Proxys im Dashboard oder aus der Bestellung in der API. Jede Adresse kommt mit ihren eigenen vier Werten.

  2. Den Geltungsbereich wählen

    Bei launch nutzt der ganze Browser den Proxy. Bei new_context nur dieser Kontext, sodass ein Skript mehrere Kontexte über verschiedene Adressen betreiben kann.

  3. Das Proxy-Objekt übergeben

    {"server": "http://HOST:PORT", "username": "USERNAME", "password": "PASSWORD"}. Die Zugangsdaten stehen in eigenen Feldern, nie in der Server-URL.

  4. Wechsel zu SOCKS5? Zugangsdaten weglassen

    Playwright kann sich nicht bei einem SOCKS5-Proxy anmelden. Schalten Sie die Bestellung daher auf SOCKS5 um, lassen Sie die IP Ihres Rechners mit dem Whitelist-Aufruf aus den Code-Tabs zu, und behalten Sie nur socks5://HOST:PORT, mit dem neuen Port. 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.

  5. Die Ausgangsadresse bestätigen

    Öffnen Sie vor dem eigentlichen Lauf einmal Was ist meine IP in einer Seite dieses Browsers oder Kontexts.

# pip install playwright && playwright install chromium
from playwright.sync_api import sync_playwright

with sync_playwright() as p:
    browser = p.chromium.launch(proxy={
        "server": "http://HOST:PORT",
        "username": "USERNAME",
        "password": "PASSWORD",
    })
    page = browser.new_page()
    page.goto("https://example.com/")
    print(page.title())
    browser.close()
// npm i playwright && npx playwright install chromium
const { chromium } = require('playwright');

(async () => {
  const browser = await chromium.launch({
    proxy: {
      server: 'http://HOST:PORT',
      username: 'USERNAME',
      password: 'PASSWORD',
    },
  });
  const page = await browser.newPage();
  await page.goto('https://example.com/');
  console.log(await page.title());
  await browser.close();
})();
from playwright.sync_api import sync_playwright

with sync_playwright() as p:
    browser = p.chromium.launch()
    # The proxy belongs to this context only; another context can use
    # a different address, or none.
    context = browser.new_context(proxy={
        "server": "http://HOST:PORT",
        "username": "USERNAME",
        "password": "PASSWORD",
    })
    page = context.new_page()
    page.goto("https://example.com/")
    print(page.title())
    browser.close()
# Switch the proxy to SOCKS5 and put your machine's IP on its whitelist:
# Chromium cannot send a SOCKS5 username and password.
from playwright.sync_api import sync_playwright

with sync_playwright() as p:
    browser = p.chromium.launch(proxy={"server": "socks5://HOST:PORT"})
    page = browser.new_page()
    page.goto("https://example.com/")
    print(page.title())
    browser.close()
# 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 Playwright

Ausgeführt mit Playwright 1.64 für Python und für Node. Die HTTP-Beispiele senden Benutzername und Passwort und brauchen eine Bestellung ohne gesetzte Whitelist; das SOCKS5-Beispiel stützt sich auf die Whitelist, und dafür muss der Proxy zuerst auf SOCKS5 umgeschaltet werden, was einen neuen Port ergibt. Ersetzen Sie die großgeschriebenen Platzhalter durch die Werte Ihrer Bestellung.

Vollständige API-Dokumentation

Was jeder Playwright-Browser akzeptiert

Getestet am 2026-10-22 mit Playwright 1.64 für Python unter macOS: Jede Engine wurde gegen einen lokalen Proxy gestartet, der ein Passwort verlangte, und gegen einen, der einen Client aus der Whitelist zuließ. Verweigert heißt, dass Playwright beim Start mit einem Fehler abgebrochen hat.
HTTP mit PasswortSOCKS5 mit PasswortSOCKS5 mit Whitelist
ChromiumFunktioniertBeim Start verweigertFunktioniert
FirefoxFunktioniertBeim Start verweigertFunktioniert
WebKitFunktioniertBeim Start verweigertFunktioniert

Was bei Playwright-Proxys schiefgeht

Zugangsdaten im Server-String

Playwright liest Benutzername und Passwort aus ihren eigenen Feldern. Stehen sie stattdessen in der Server-URL, werden sie gar nicht gesendet: In unserem Test hing die erste Navigation bis zum Timeout, ohne eine Meldung, die auf die Zugangsdaten hinwies.

Ein SOCKS5-Passwort

Jede Engine verweigert die SOCKS5-Authentifizierung, und der Fehler kommt beim Start, bevor eine Seite geöffnet wird. Eine andere Bibliothek behebt das nicht: Tragen Sie die IP, von der Ihr Skript läuft, in die Whitelist ein und lassen Sie die Zugangsdaten weg.

Erwarten, dass new_page die Adresse ändert

Seiten teilen sich den Proxy ihres Kontexts, und Kontexte teilen sich den des Browsers, sofern sie keinen eigenen bekommen. Um zwei Adressen nebeneinander zu betreiben, legen Sie zwei Kontexte an, jeden mit seinem Proxy.

Die Prüfung der Ausgangsadresse auslassen

Ein Tippfehler im Port oder ein noch auf HTTP eingestellter Proxy scheitert deutlich sichtbar, ein ohne das Proxy-Objekt angelegter Kontext dagegen geht direkt und ohne Hinweis hinaus. Laden Sie pro eingerichtetem Kontext einmal eine Seite, die die IP zurückgibt.

Wie die Adresse in das Modell von Playwright passt

Ein Kontext, eine Adresse
Jeder Browserkontext kann seine eigene statische IP aus seiner eigenen Bestellung tragen
Anmeldung über HTTP
Felder username und password, akzeptiert von Chromium, Firefox und WebKit
Anmeldung über SOCKS5
Nur per IPv4-Adresse in der Whitelist, gesetzt über die API oder MCP
Stabilität
Die IP bleibt über alle Läufe hinweg gleich, für den ganzen bezahlten Zeitraum

Nächste Schritte nach Playwright

Fragen zu Proxys in Playwright

Wie setze ich in Playwright einen Proxy mit Authentifizierung?

Übergeben Sie ein Objekt mit server, username und password, entweder an launch oder an new_context. Über einen HTTP-Proxy senden Chromium, Firefox und WebKit diese Zugangsdaten, wenn der Proxy danach fragt.

Kann ich in Playwright einen SOCKS5-Proxy mit Passwort nutzen?

Nein. Playwright bricht in allen drei Engines beim Start mit einem Fehler ab, der besagt, dass der Browser keine SOCKS5-Proxy-Authentifizierung unterstützt. Tragen Sie die IP, von der Ihr Skript läuft, in die Whitelist ein und übergeben Sie dann nur den socks5-Server; unsere Whitelist gilt für SOCKS5 ebenso wie für HTTP. SOCKS5

Wie nutze ich für jede Seite einen anderen Proxy?

Geben Sie jedem Browserkontext seinen eigenen Proxy und öffnen Sie die Seite in diesem Kontext. Seiten innerhalb eines Kontexts teilen sich immer seinen Proxy, ein Proxy pro Seite bedeutet also einen Kontext pro Seite.

Ist die Einrichtung in Python und in Node gleich?

Dasselbe Objekt mit denselben drei Feldern: Python schreibt es als Dictionary, Node als Objektliteral. Beide Beispiele auf dieser Seite wurden mit Playwright 1.64 ausgeführt.

Darf ich den Proxy für Scraping nutzen?

Tests Ihrer eigenen Seiten nach Region, Qualitätsprüfungen, Anzeigenüberprüfung, Preis- und Marktforschung, SEO-Monitoring und Markenschutz laufen nach unserer Richtlinie zur zulässigen Nutzung ohne vorherige Prüfung. Dass Daten öffentlich zugänglich sind, berechtigt allein noch nicht dazu, sie zu sammeln, personenbezogene Daten brauchen eine angegebene Rechtsgrundlage, und die Adresse kommt nicht an CAPTCHAs, Bot-Erkennung, Ratenlimits oder Sperren vorbei; die Richtlinie verbietet, es zu versuchen. Richtlinie zur zulässigen Nutzung

Kontexte und statische Adressen entsprechen einander eins zu eins: ein Kontext pro Markt oder pro Job, und jeder erreicht das Ziel bei jedem Lauf des Skripts von einer unveränderten IP aus. Kaufen Sie so viele Adressen, wie Sie Kontexte betreiben, auf der Seite ISP-Proxys, vergleichen Sie die Tarife unter Preise, und rufen Sie mit der Anleitung für Python requests ohne Browser ab.

Quellen