Jak używać proxy z Selenium
Chrome w Selenium nie akceptuje nazwy użytkownika i hasła w fladze --proxy-server. Najprostszym sposobem jest selenium-wire, które obsługuje logowanie za Ciebie.
Kroki
- Zainstaluj selenium-wire za pomocą pip install selenium-wire
- Przekaż adres URL proxy z nazwą użytkownika i hasłem w seleniumwire_options
- Uruchom sterownik i otwórz docelową stronę
- Użyj identyfikatora sesji, aby zachować jedno IP przez cały test
Przykładowy kod
from seleniumwire import webdriver
proxy = "http://USERNAME-cc-ca:PASSWORD@gw.gbproxies.cc:10000"
driver = webdriver.Chrome(seleniumwire_options={
"proxy": {"http": proxy, "https": proxy, "no_proxy": "localhost,127.0.0.1"}
})
driver.get("https://api.ipify.org")
print(driver.find_element("tag name", "body").text)
driver.quit()Zastąp USERNAME i PASSWORD loginem proxy ze strony Proxies w konsoli. Port 10000 to residential HTTP; zobacz porty każdego produktu poniżej.
Porady
- Wyłącz obrazy w preferencjach Chrome, aby oszczędzać GB
- Uruchom jeden sterownik na sesję sticky
Częste pytania
Czy mogę używać zwykłego Selenium bez dodatkowych pakietów?
Chrome potrzebuje rozszerzenia lub selenium-wire do logowania proxy; Firefox może odczytać dane uwierzytelniające z profilu.