Kako postaviti proxy s autentifikacijom u Selenium WebDriveru
Updated:
Standardne zastavice ChromeDrivera --proxy-server=http://ip:port zanemaruju umetnute user:pass vjerodajnice i otvaraju dijaloški okvir za prijavu koji blokira rad. Kako biste jednostavno koristili VinaProxy autentificirane HTTP(S) proxyje u Seleniumu, proslijedite svoje vjerodajnice putem selenium-wire ili učitajte malu Chrome onAuthRequired pozadinsku ekstenziju.
http://user:pass@ip:port (selenium-wire / Chrome proxy extension)- 1 IP40.000 VND
- 5+ IP-ova35.000 VND
- 10+ IP-ova25.000 VND
- 20+ IP-ova25.000 VND
- 50+ IP-ova25.000 VND
- 100+ IP-ova25.000 VND
- 200+ IP-ova25.000 VND
- 500+ IP-ova25.000 VND
- 1000+ IP-ova22.000 VND
- 2000+ IP-ova20.000 VND
- 1 IP75.000 VND
- 3+ IP-ova70.000 VND
- 5+ IP-ova65.000 VND
- 10+ IP-ova60.000 VND
- 50+ IP-ova60.000 VND
- 100+ IP-ova60.000 VND
- 200+ IP-ova60.000 VND
- 500+ IP-ova55.000 VND
Dva pouzdana načina za autentifikaciju proxyja u Seleniumu
Odaberite 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 postavljanje za Python; podržava zamjenu proxyja usred sesije |
| Chrome autentifikacijska ekstenzija | Učitajte zipanu ekstenziju koja obrađuje chrome.webRequest.onAuthRequired | Standardni Selenium za Python, Java, C# i undetected-chromedriver |
| Prijelaz na Playwright | browser.newContext({ proxy: { server, username, password } }) | Izvorna autentifikacija proxyja po kontekstu bez potrebe za ekstenzijama |
Savjeti za performanse pri Selenium struganju preko proxyja
- Postavite
options.page_load_strategy = 'eager'kako bi WebDriver reagirao čim DOM postane interaktivan, bez čekanja sporih servisa za praćenje trećih strana - Koristite
--headless=new(Chrome 109+) ako radite u headless načinu rada kako bi Chrome ekstenzije i autentifikacija proxyja radile identično kao u grafičkom načinu rada - Onemogućite učitavanje slika putem Chrome postavki pri prikupljanju isključivo tekstualnih podataka o proizvodima
- Uvijek omotajte svoj upravljački program u
try / finally: driver.quit()blok kako biste spriječili zaostale Chromium procese
Korak po korak
- 1
Instalirajte selenium-wire
Pokrenite
pip install selenium-wireu svom Python virtualnom okruženju. - 2
Definirajte svoj VinaProxy proxy rječnik
Formatirajte svoje vjerodajnice kao
sw_options = {'proxy': {'http': 'http://user:pass@ip:port', 'https': 'http://user:pass@ip:port'}}. - 3
Pokrenite webdriver.Chrome sa seleniumwire_options
Inicijalizirajte
driver = webdriver.Chrome(seleniumwire_options=sw_options). - 4
Provjerite izlaznu IP adresu
Otvorite
driver.get('https://vinaproxy.com/api/my-ip')i provjerite prikazuje li JSON odgovor 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 --proxy-server zastavice naredbenog retka. Korištenje selenium-wire, onAuthRequired ekstenzije ili Playwright to rješava bez problema.
Mogu li promijeniti proxyje bez ponovnog pokretanja Chromea u selenium-wire?
Da. Dodijelite novi rječnik u driver.proxy = {'http': 'http://...', 'https': 'http://...'} u bilo kojem trenutku kako biste promijenili aktivni upstream proxy u hodu.
Rade li Chrome proxy ekstenzije u headless načinu rada?
Da, sve dok prosljeđujete --headless=new umjesto zastarjele zastavice --headless.
Pokrenite Selenium WebDriver u velikom opsegu s neograničenim statičkim IP adresama
Trenutno dostupni namjenski IPv4 i statički ISP proxyji u 7 zemalja.
Kupite Selenium proxyje