Een geauthenticeerde proxy instellen in Selenium WebDriver
Updated:
Standaard ChromeDriver --proxy-server=http://ip:port-vlaggen negeren inline user:pass-inloggegevens en tonen een blokkerend inlogvenster. Om geauthenticeerde HTTP(S)-proxy's van VinaProxy probleemloos in Selenium te gebruiken, geef je je inloggegevens door via selenium-wire of laad je een kleine Chrome onAuthRequired-achtergrondextensie.
http://user:pass@ip:port (selenium-wire / Chrome proxy extension)- 1 IP₫ 40.000
- 5+ IP's₫ 35.000
- 10+ IP's₫ 25.000
- 20+ IP's₫ 25.000
- 50+ IP's₫ 25.000
- 100+ IP's₫ 25.000
- 200+ IP's₫ 25.000
- 500+ IP's₫ 25.000
- 1000+ IP's₫ 22.000
- 2000+ IP's₫ 20.000
- 1 IP₫ 75.000
- 3+ IP's₫ 70.000
- 5+ IP's₫ 65.000
- 10+ IP's₫ 60.000
- 50+ IP's₫ 60.000
- 100+ IP's₫ 60.000
- 200+ IP's₫ 60.000
- 500+ IP's₫ 55.000
Twee betrouwbare manieren om proxy's te authenticeren in Selenium
Kies de aanpak die past bij je programmeertaal-runtime en browserdriver:
| Aanpak | Configuratiesyntaxis | Ideaal voor |
|---|---|---|
selenium-wire (Python) | seleniumwire_options={'proxy': {'http': 'http://user:pass@ip:port', 'https': 'http://user:pass@ip:port'}} | Snelste Python-setup; ondersteunt het direct wisselen van proxy's tijdens de sessie |
| Chrome Auth-extensie | Laad een ingepakte extensie die chrome.webRequest.onAuthRequired afhandelt | Standaard Selenium voor Python, Java, C# en undetected-chromedriver |
| Overstappen op Playwright | browser.newContext({ proxy: { server, username, password } }) | Native proxy-authenticatie per context zonder dat er extensies nodig zijn |
Prestatietips voor Selenium-scraping via proxy's
- Stel
options.page_load_strategy = 'eager'in zodat WebDriver direct interacteert zodra de DOM interactief is, zonder te wachten op trage trackers van derden - Gebruik
--headless=new(Chrome 109+) bij headless-uitvoering, zodat Chrome-extensies en proxy-authenticatie identiek werken aan de grafische modus - Schakel het laden van afbeeldingen uit via Chrome-instellingen bij het scrapen van uitsluitend tekstuele productgegevens
- Plaats je driver altijd in een
try / finally: driver.quit()-blok om achterblijvende Chromium-processen te voorkomen
Stappenplan
- 1
Installeer selenium-wire
Voer
pip install selenium-wireuit in je virtuele Python-omgeving. - 2
Definieer je VinaProxy-proxydictionary
Formatteer je inloggegevens als
sw_options = {'proxy': {'http': 'http://user:pass@ip:port', 'https': 'http://user:pass@ip:port'}}. - 3
Start webdriver.Chrome met seleniumwire_options
Initialiseer
driver = webdriver.Chrome(seleniumwire_options=sw_options). - 4
Controleer het uitgaande IP-adres
Navigeer naar
driver.get('https://vinaproxy.com/api/my-ip')en controleer of het JSON-antwoord je proxy-IP toont.
Veelgestelde vragen
Waarom werkt `--proxy-server=http://user:pass@ip:port` niet in ChromeOptions?
Chromium verwijdert user:pass@ bewust uit de --proxy-server-opdrachtregeloptie. Dit los je eenvoudig op met selenium-wire, een onAuthRequired-extensie of Playwright.
Kan ik in selenium-wire van proxy wisselen zonder Chrome opnieuw te starten?
Ja. Wijs op elk gewenst moment een nieuw dictionary toe aan driver.proxy = {'http': 'http://...', 'https': 'http://...'} om de actieve upstream-proxy direct te wijzigen.
Werken Chrome-proxy-extensies in headless-modus?
Ja, zolang je --headless=new meegeeft in plaats van de verouderde --headless-vlag.
Schaal Selenium WebDriver met ongelimiteerde statische IP's
Direct Dedicated IPv4- en Static ISP-proxy's in 7 landen.
Koop Selenium-proxy's