Kako podesiti proxy s autentifikacijom u Selenium WebDriveru
Updated:
Standardne ChromeDriver zastavice --proxy-server=http://ip:port ignorišu ugrađene user:pass pristupne podatke i prikazuju blokirajući dijalog za prijavu. Da biste nesmetano koristili VinaProxy HTTP(S) proxyje s autentifikacijom u Seleniumu, proslijedite svoje podatke putem selenium-wire ili učitajte malu Chrome pozadinsku ekstenziju onAuthRequired.
http://user:pass@ip:port (selenium-wire / Chrome proxy extension)- 1 IP40.000 ₫
- 5+ IP-ova35.000 ₫
- 10+ IP-ova25.000 ₫
- 20+ IP-ova25.000 ₫
- 50+ IP-ova25.000 ₫
- 100+ IP-ova25.000 ₫
- 200+ IP-ova25.000 ₫
- 500+ IP-ova25.000 ₫
- 1000+ IP-ova22.000 ₫
- 2000+ IP-ova20.000 ₫
- 1 IP75.000 ₫
- 3+ IP-ova70.000 ₫
- 5+ IP-ova65.000 ₫
- 10+ IP-ova60.000 ₫
- 50+ IP-ova60.000 ₫
- 100+ IP-ova60.000 ₫
- 200+ IP-ova60.000 ₫
- 500+ IP-ova55.000 ₫
Dva pouzdana načina za autentifikaciju proxyja u Seleniumu
Izaberite pristup koji odgovara vašem programskom jeziku i upravljačkom programu preglednika:
| Pristup | Sintaksa konfiguracije | Najbolje za |
|---|---|---|
selenium-wire (Python) | seleniumwire_options={'proxy': {'http': 'http://user:pass@ip:port', 'https': 'http://user:pass@ip:port'}} | Najbrže podešavanje za Python; podržava zamjenu proxyja tokom sesije |
| Chrome Auth ekstenzija | Učitajte zipovanu ekstenziju koja upravlja sa chrome.webRequest.onAuthRequired | Standardni Selenium za Python, Java, C# i undetected-chromedriver |
| Prelazak na Playwright | browser.newContext({ proxy: { server, username, password } }) | Izvorna autentifikacija proxyja po kontekstu bez potrebe za ekstenzijama |
Savjeti za bolje performanse pri Selenium scrapingu preko proxyja
- Postavite
options.page_load_strategy = 'eager'kako bi WebDriver reagovao čim DOM postane interaktivan, bez čekanja sporih eksternih trackera - Koristite
--headless=new(Chrome 109+) ako radite u headless režimu kako bi Chrome ekstenzije i autentifikacija proxyja radile identično kao u grafičkom režimu - Isključite renderovanje slika putem Chrome postavki prilikom prikupljanja isključivo tekstualnih podataka o proizvodima
- Uvijek obuhvatite svoj driver u blok
try / finally: driver.quit()kako biste spriječili zaostale Chromium procese
Korak po korak
- 1
Instalirajte selenium-wire
Pokrenite
pip install selenium-wireu svom Python virtuelnom okruženju. - 2
Definišite svoj VinaProxy rječnik proxyja
Formatirajte svoje pristupne podatke kao
sw_options = {'proxy': {'http': 'http://user:pass@ip:port', 'https': 'http://user:pass@ip:port'}}. - 3
Pokrenite webdriver.Chrome uz seleniumwire_options
Inicijalizujte
driver = webdriver.Chrome(seleniumwire_options=sw_options). - 4
Provjerite izlaznu IP adresu
Otvorite
driver.get('https://vinaproxy.com/api/my-ip')i potvrdite da JSON odgovor prikazuje vaš proxy IP.
Često postavljana pitanja
Zašto `--proxy-server=http://user:pass@ip:port` ne radi u ChromeOptions?
Chromium namjerno uklanja user:pass@ iz komandnolinijske zastavice --proxy-server. Korištenje selenium-wire, ekstenzije onAuthRequired ili Playwright rješava ovaj problem na čist način.
Mogu li promijeniti proxyje bez ponovnog pokretanja Chromea u selenium-wire?
Da. Dodijelite novi rječnik na driver.proxy = {'http': 'http://...', 'https': 'http://...'} u bilo kojem trenutku kako biste promijenili aktivni uzvodni proxy u hodu.
Rade li Chrome proxy ekstenzije u headless režimu?
Da, sve dok prosljeđujete --headless=new umjesto zastarjele zastavice --headless.
Pokrenite Selenium WebDriver u velikom obimu uz neograničene statičke IP adrese
Trenutni Dedicated IPv4 i Static ISP proxyji u 7 zemalja.
Kupite Selenium proxyje