Hitelesített proxy beállítása Selenium WebDriverben
Updated:
A standard ChromeDriver --proxy-server=http://ip:port kapcsolók figyelmen kívül hagyják a beágyazott user:pass hitelesítési adatokat, és blokkoló bejelentkezési ablakot dobnak fel. A(z) VinaProxy hitelesített HTTP(S) proxyk zökkenőmentes használatához a Seleniumban adja át hitelesítési adatait a selenium-wire segítségével, vagy töltsön be egy kisméretű Chrome onAuthRequired háttérbővítményt.
http://user:pass@ip:port (selenium-wire / Chrome proxy extension)- 1 IP40 000 VND
- 5+ IP35 000 VND
- 10+ IP25 000 VND
- 20+ IP25 000 VND
- 50+ IP25 000 VND
- 100+ IP25 000 VND
- 200+ IP25 000 VND
- 500+ IP25 000 VND
- 1000+ IP22 000 VND
- 2000+ IP20 000 VND
- 1 IP75 000 VND
- 3+ IP70 000 VND
- 5+ IP65 000 VND
- 10+ IP60 000 VND
- 50+ IP60 000 VND
- 100+ IP60 000 VND
- 200+ IP60 000 VND
- 500+ IP55 000 VND
Két megbízható módszer a proxyhitelesítésre Seleniumban
Válassza ki a futtatókörnyezetének és a böngészőillesztőjének leginkább megfelelő megközelítést:
| Megközelítés | Konfigurációs szintaxis | Legjobb ehhez |
|---|---|---|
selenium-wire (Python) | seleniumwire_options={'proxy': {'http': 'http://user:pass@ip:port', 'https': 'http://user:pass@ip:port'}} | A leggyorsabb beállítás Pythonhoz; támogatja a proxyk menet közbeni cseréjét |
| Chrome hitelesítési bővítmény | Egy chrome.webRequest.onAuthRequired eseményt kezelő, tömörített bővítmény betöltése | Szabványos Seleniumhoz Python, Java, C# környezetben és undetected-chromedriver esetén |
| Áttérés Playwrightra | browser.newContext({ proxy: { server, username, password } }) | Natív, kontextusonkénti proxyhitelesítés bővítmények nélkül |
Teljesítményoptimalizálási tippek proxyn keresztüli Selenium adatgyűjtéshez
- Állítsa be a
options.page_load_strategy = 'eager'értéket, hogy a WebDriver azonnal interakcióba léphessen, amint a DOM interaktívvá válik, anélkül, hogy megvárná a lassú harmadik féltől származó nyomkövetőket - Használja a
--headless=new(Chrome 109+) kapcsolót fej nélküli futtatáskor, így a Chrome bővítmények és a proxyhitelesítés a grafikus móddal teljesen azonosan működnek - Kapcsolja ki a képek renderelését a Chrome beállításaiban, ha kizárólag szöveges termékadatokat gyűjt
- Mindig foglalja a drivert egy
try / finally: driver.quit()blokkba az elárvult Chromium folyamatok megelőzése érdekében
Lépésről lépésre
- 1
A selenium-wire telepítése
Futtassa a
pip install selenium-wireparancsot a Python virtuális környezetében. - 2
A(z) VinaProxy proxy-szótár definiálása
Formázza a hitelesítési adatait a következőképpen:
sw_options = {'proxy': {'http': 'http://user:pass@ip:port', 'https': 'http://user:pass@ip:port'}}. - 3
A webdriver.Chrome indítása seleniumwire_options beállítással
Inicializálja a drivert:
driver = webdriver.Chrome(seleniumwire_options=sw_options). - 4
A kimenő IP-cím ellenőrzése
Navigáljon a
driver.get('https://vinaproxy.com/api/my-ip')címre, és ellenőrizze, hogy a JSON válaszban a proxy IP-címe jelenik-e meg.
Gyakran ismételt kérdések
Miért nem működik a `--proxy-server=http://user:pass@ip:port` a ChromeOptionsben?
A Chromium szándékosan eltávolítja a user:pass@ részt a parancssori --proxy-server kapcsolóból. A selenium-wire, egy onAuthRequired bővítmény vagy a Playwright használata tiszta megoldást nyújt erre.
Válthatok proxyt a Chrome újraindítása nélkül a selenium-wire-ben?
Igen. Bármikor hozzárendelhet egy új szótárt a driver.proxy = {'http': 'http://...', 'https': 'http://...'} változóhoz az aktív upstream proxy menet közbeni váltásához.
Működnek a Chrome proxybővítmények fej nélküli (headless) módban?
Igen, amennyiben az elavult --headless helyett a --headless=new kapcsolót adja meg.
Futtasson Selenium WebDrivert nagy léptékben, forgalomkorlát nélküli statikus IP-kkel
Azonnali Dedicated IPv4 és Static ISP proxyk 7 országban.
Selenium proxyk vásárlása