Proxy mit Authentifizierung in Selenium WebDriver einrichten
Aktualisiert:
Standardmäßige ChromeDriver-Flags wie --proxy-server=http://ip:port ignorieren eingebettete user:pass-Zugangsdaten und öffnen einen blockierenden Anmeldedialog. Um authentifizierte HTTP(S)-Proxys von VinaProxy in Selenium sauber einzubinden, übergeben Sie Ihre Zugangsdaten über selenium-wire oder laden Sie eine kompakte Chrome-Hintergrunderweiterung für onAuthRequired.
http://user:pass@ip:port (selenium-wire / Chrome proxy extension)- 1 IP40.000 ₫
- 5+ IPs35.000 ₫
- 10+ IPs25.000 ₫
- 20+ IPs25.000 ₫
- 50+ IPs25.000 ₫
- 100+ IPs25.000 ₫
- 200+ IPs25.000 ₫
- 500+ IPs25.000 ₫
- 1000+ IPs22.000 ₫
- 2000+ IPs20.000 ₫
- 1 IP75.000 ₫
- 3+ IPs70.000 ₫
- 5+ IPs65.000 ₫
- 10+ IPs60.000 ₫
- 50+ IPs60.000 ₫
- 100+ IPs60.000 ₫
- 200+ IPs60.000 ₫
- 500+ IPs55.000 ₫
Zwei zuverlässige Methoden zur Proxy-Authentifizierung in Selenium
Wählen Sie den Ansatz, der am besten zu Ihrer Programmiersprache und Ihrem Treiber-Setup passt:
| Ansatz | Konfigurationssyntax | Ideal für |
|---|---|---|
selenium-wire (Python) | seleniumwire_options={'proxy': {'http': 'http://user:pass@ip:port', 'https': 'http://user:pass@ip:port'}} | Schnellste Python-Lösung; unterstützt den fliegenden Proxy-Wechsel während der Session |
| Chrome Auth-Erweiterung | Laden einer ZIP-Erweiterung zur Behandlung von chrome.webRequest.onAuthRequired | Standard-Selenium in Python, Java, C# und undetected-chromedriver |
| Migration zu Playwright | browser.newContext({ proxy: { server, username, password } }) | Native Proxy-Authentifizierung pro Kontext ganz ohne Erweiterungen |
Leistungstipps für Selenium-Scraping über Proxys
- Setzen Sie
options.page_load_strategy = 'eager', damit WebDriver sofort nach Fertigstellung des DOMs interagiert, anstatt auf langsame Tracker zu warten - Verwenden Sie im Headless-Modus
--headless=new(Chrome 109+), damit Chrome-Erweiterungen und Proxy-Auth genauso wie im Fenstermodus arbeiten - Deaktivieren Sie beim Extrahieren reiner Produktdaten das Rendern von Bildern in den Chrome-Einstellungen, um Bandbreite zu sparen
- Schließen Sie Ihren Treiber immer in einen
try / finally: driver.quit()-Block ein, um verwaiste Chromium-Hintergrundprozesse zu vermeiden
Schritt für Schritt
- 1
selenium-wire installieren
Führen Sie
pip install selenium-wirein Ihrer virtuellen Python-Umgebung aus. - 2
VinaProxy Proxy-Dictionary definieren
Formatieren Sie Ihre Zugangsdaten:
sw_options = {'proxy': {'http': 'http://user:pass@ip:port', 'https': 'http://user:pass@ip:port'}}. - 3
webdriver.Chrome mit seleniumwire_options starten
Initialisieren Sie den Browser:
driver = webdriver.Chrome(seleniumwire_options=sw_options). - 4
Ausgangs-IP-Adresse überprüfen
Rufen Sie
driver.get('https://vinaproxy.com/api/my-ip')auf und stellen Sie sicher, dass im JSON Ihre Proxy-IP steht.
Häufig gestellte Fragen
Warum funktioniert '--proxy-server=http://user:pass@ip:port' in ChromeOptions nicht?
Chromium entfernt user:pass@ bewusst aus dem Startparameter --proxy-server. Die Verwendung von selenium-wire, einer onAuthRequired-Erweiterung oder der Wechsel zu Playwright löst dieses Problem zuverlässig.
Kann ich in selenium-wire Proxys wechseln, ohne Chrome neu zu starten?
Ja. Weisen Sie driver.proxy = {'http': 'http://...', 'https': 'http://...'} einfach jederzeit ein neues Dictionary zu, um den Proxy im laufenden Betrieb zu tauschen.
Funktionieren Chrome-Proxy-Erweiterungen im Headless-Modus?
Ja, vorausgesetzt Sie übergeben den modernen Flag --headless=new anstelle des alten --headless.
Selenium WebDriver skalieren mit unbegrenzten statischen IPs
Dedizierte IPv4- und statische ISP-Proxys in 7 Ländern sofort freischalten.
Selenium-Proxys kaufen