Så konfigurerar du en autentiserad proxy i Selenium WebDriver
Updated:
Standardflaggorna för ChromeDriver --proxy-server=http://ip:port ignorerar inbäddade inloggningsuppgifter med user:pass och visar en blockerande inloggningsruta. För att använda autentiserade HTTP(S)-proxyer från VinaProxy smidigt i Selenium kan du skicka dina uppgifter via selenium-wire eller ladda ett litet Chrome-bakgrundstillägg för onAuthRequired.
http://user:pass@ip:port (selenium-wire / Chrome proxy extension)- 1 IP40 000 VND
- 5+ IP:er35 000 VND
- 10+ IP:er25 000 VND
- 20+ IP:er25 000 VND
- 50+ IP:er25 000 VND
- 100+ IP:er25 000 VND
- 200+ IP:er25 000 VND
- 500+ IP:er25 000 VND
- 1000+ IP:er22 000 VND
- 2000+ IP:er20 000 VND
- 1 IP75 000 VND
- 3+ IP:er70 000 VND
- 5+ IP:er65 000 VND
- 10+ IP:er60 000 VND
- 50+ IP:er60 000 VND
- 100+ IP:er60 000 VND
- 200+ IP:er60 000 VND
- 500+ IP:er55 000 VND
Två tillförlitliga sätt att autentisera proxyer i Selenium
Välj den metod som passar din körmiljö och webbläsardrivrutin:
| Metod | Konfigurationssyntax | Bäst för |
|---|---|---|
selenium-wire (Python) | seleniumwire_options={'proxy': {'http': 'http://user:pass@ip:port', 'https': 'http://user:pass@ip:port'}} | Snabbaste lösningen för Python; stöder byte av proxy mitt under sessionen |
| Chrome Auth Extension | Ladda ett zippat tillägg som hanterar chrome.webRequest.onAuthRequired | Standard-Selenium i Python, Java, C# och undetected-chromedriver |
| Migrera till Playwright | browser.newContext({ proxy: { server, username, password } }) | Inbyggd proxyautentisering per kontext utan att tillägg behövs |
Prestandatips för Selenium-scraping via proxyer
- Sätt
options.page_load_strategy = 'eager'så att WebDriver interagerar så snart DOM:en är interaktiv utan att vänta på långsamma tredjepartsspårare - Använd
--headless=new(Chrome 109+) om du kör headless så att Chrome-tillägg och proxyautentisering fungerar identiskt med grafiskt läge - Inaktivera bildrendering via inställningarna i Chrome när du skrapar ren textbaserad produktdata
- Bädda alltid in din driver i ett
try / finally: driver.quit()-block för att förhindra överblivna Chromium-processer
Steg för steg
- 1
Installera selenium-wire
Kör
pip install selenium-wirei din virtuella Python-miljö. - 2
Definiera ditt proxy-dictionary för VinaProxy
Formatera dina inloggningsuppgifter som
sw_options = {'proxy': {'http': 'http://user:pass@ip:port', 'https': 'http://user:pass@ip:port'}}. - 3
Starta webdriver.Chrome med seleniumwire_options
Initiera
driver = webdriver.Chrome(seleniumwire_options=sw_options). - 4
Verifiera den utgående IP-adressen
Gå till
driver.get('https://vinaproxy.com/api/my-ip')och bekräfta att JSON-svaret visar din proxy-IP.
Vanliga frågor
Varför fungerar inte `--proxy-server=http://user:pass@ip:port` i ChromeOptions?
Chromium tar avsiktligt bort user:pass@ från kommandoradsflaggan --proxy-server. Att använda selenium-wire, ett onAuthRequired-tillägg eller Playwright löser detta smidigt.
Kan jag byta proxy utan att starta om Chrome i selenium-wire?
Ja. Tilldela ett nytt dictionary till driver.proxy = {'http': 'http://...', 'https': 'http://...'} när som helst för att byta aktiv uppströmsproxy direkt i farten.
Fungerar Chrome-proxytillägg i headless-läge?
Ja, så länge du skickar med --headless=new istället för den äldre flaggan --headless.
Kör Selenium WebDriver i stor skala med obegränsade statiska IP-adresser
Omedelbara Dedicated IPv4- och Static ISP-proxyer i 7 länder.
Köp Selenium-proxyer