Konfiguracja proxy w Selenium to jeden z pierwszych problemów, który napotykasz, gdy Twój scraper zaczyna dostawać blokady po kilkudziesięciu żądaniach. Witryny takie jak Google, Amazon czy Allegro wykrywają adresy IP datacenter w ułamku sekundy. Mobilne proxy 4G działają inaczej, bo wyglądają dokładnie jak ruch z telefonu komórkowego. W tym przewodniku dowiesz się:
- Jak skonfigurować proxy setup Selenium dla Chrome i Firefox krok po kroku
- Dlaczego proxy 4G daje prawie zerowy wskaźnik detekcji w porównaniu do datacenter
- Jak obsługiwać rotację IP bezpośrednio z kodu Pythona
- Jak uniknąć najczęstszych błędów przy integracji proxy z Selenium
W tym poradniku znajdziesz gotowe fragmenty kodu, konkretne parametry i praktyczne porady z naszego środowiska testowego.

Dlaczego proxy 4G to najlepszy wybór do Selenium
Zanim przejdziesz do kodu, warto zrozumieć, dlaczego rodzaj proxy ma tu ogromne znaczenie. Klasyczne proxy z datacenter mają adresy IP przypisane do serwerów. Witryny znają te zakresy i blokują je natychmiast. Rezydenalne proxy są lepsze, ale często działają przez innych użytkowników sieci, co oznacza niestabilność i wspólne IPs.
Mobilne proxy 4G działają na fizycznych modemach LTE podłączonych do prawdziwych kart SIM. Ruch wychodzi przez sieci operatorów komórkowych, a Twój adres IP wygląda identycznie jak IP zwykłego użytkownika z telefonem. Co ważniejsze, takie adresy są za CGNAT, czyli wiele urządzeń dzieli jeden publiczny IP. Platformy antyfraudowe nie mogą zablokować takiego IP bez ryzyka odcięcia tysięcy prawdziwych użytkowników.
Key takeaway: W naszych testach scrapingu Allegro i Google Shopping, mobilne proxy 4G osiągnęły wskaźnik blokad poniżej 0,5% przy 10 000 żądań dziennie. Proxy z datacenter blokowały się przy 50-200 żądaniach.
- Brak ograniczeń transferu, możesz pobierać gigabajty danych bez dodatkowych opłat
- Czas rotacji IP wynosi zaledwie 2 sekundy przez wywołanie API
- Wsparcie dla HTTP i SOCKS5, oba działają natywnie z Selenium
- Rzeczywiste polskie adresy IP, przydatne do monitorowania cen na polskich serwisach
Konfiguracja proxy w Selenium dla Chrome
Selenium z ChromeDriver to najpopularniejsze połączenie w automatyzacji przeglądarki. Poniżej znajdziesz kompletny przykład konfiguracji dla proxy HTTP. Zakładamy, że używasz Pythona z biblioteką selenium w wersji 4.x.
Podstawowa konfiguracja przez ChromeOptions
Najprostszy sposób to przekazanie adresu proxy jako argumentu do przeglądarki:
- Zainstaluj wymagane pakiety:
pip install selenium - Pobierz ChromeDriver zgodny z wersją swojej przeglądarki
- Utwórz obiekt
ChromeOptionsi dodaj argument proxy - Przekaż opcje do konstruktora
webdriver.Chrome()
Przykładowy kod wygląda tak:
from selenium import webdriver
from selenium.webdriver.chrome.options import Options
options = Options()
options.add_argument("--proxy-server=http://HOST:PORT")
driver = webdriver.Chrome(options=options)
driver.get("https://httpbin.org/ip")
Zamień HOST:PORT na dane swojego portu z panelu Proxy Poland. Każdy port ma dedykowany adres hosta i numer portu widoczny po zalogowaniu.
Konfiguracja SOCKS5 w Chrome
Jeśli preferujesz SOCKS5 (lepsza obsługa połączeń nieHTTP), zmień prefiks:
options.add_argument("--proxy-server=socks5://HOST:PORT")
Key takeaway: Protokół SOCKS5 obsługuje wszystkie typy ruchu sieciowego, nie tylko HTTP/HTTPS. To ważne, jeśli Twój scraper pobiera pliki lub obsługuje WebSocket.
Konfiguracja proxy w Selenium dla Firefox
Firefox wymaga innego podejścia. Zamiast argumentów wiersza poleceń, używasz obiektu FirefoxProfile lub nowego API Options z preferencjami przeglądarki. To daje więcej kontroli, bo możesz ustawić proxy dla HTTP i HTTPS osobno.
Przykład konfiguracji przez FirefoxOptions:
from selenium import webdriver
from selenium.webdriver.firefox.options import Options
options = Options()
options.set_preference("network.proxy.type", 1)
options.set_preference("network.proxy.http", "HOST")
options.set_preference("network.proxy.http_port", PORT)
options.set_preference("network.proxy.ssl", "HOST")
options.set_preference("network.proxy.ssl_port", PORT)
driver = webdriver.Firefox(options=options)
Wartość network.proxy.type = 1 oznacza ręczną konfigurację proxy. Dla SOCKS5 ustaw typ na 1 i użyj preferencji network.proxy.socks oraz network.proxy.socks_port.
- Typ 0: brak proxy (domyślne ustawienia systemu)
- Typ 1: ręczna konfiguracja (zalecane dla scrapingu)
- Typ 2: automatyczna konfiguracja przez URL PAC
- Typ 4: autowykrywanie przez WPAD
Firefox ma jedną zaletę nad Chrome w kontekście proxy. Preferencje możesz zmieniać w czasie działania skryptu bez restartowania przeglądarki, co ułatwia rotację między sesjami.

Rotacja IP przez API podczas scrapingu
Samo ustawienie proxy to za mało przy intensywnym scrapingu. Musisz regularnie zmieniać adres IP. Z proxy setup Selenium opartym na mobilnym 4G możesz wywołać rotację w ciągu 2 sekund przez proste żądanie HTTP do API.
Jak działa rotacja IP w Proxy Poland
Każdy port w naszej infrastrukturze ma dedykowany endpoint API. Wywołanie tego endpointu powoduje fizyczną zmianę połączenia modemu, a przez to zmianę publicznego IP. Cały proces zajmuje mniej niż 2 sekundy.
Przykład integracji rotacji z Pythonem:
import requests
import time
def rotate_ip(api_key, port_id):
url = f"https://panel.proxypoland.com/api/rotate/{port_id}"
headers = {"Authorization": f"Bearer {api_key}"}
response = requests.get(url, headers=headers)
time.sleep(2)
return response.json()
Po wywołaniu funkcji poczekaj 2 sekundy zanim wyślesz kolejne żądanie przez Selenium. Nowy IP jest wtedy aktywny i gotowy do użycia.
Kiedy rotować IP
- Po każdych 50-100 żądaniach na tym samym domenie
- Gdy otrzymasz odpowiedź HTTP 429 (Too Many Requests) lub 403
- Przed scrapingiem nowych kategorii produktów na tym samym serwisie
- Co określony czas, np. co 5 minut przy długich sesjach
Możesz też włączyć automatyczną rotację w panelu sterowania, co eliminuje potrzebę ręcznych wywołań API. Opcja auto-rotacji zmienia IP co wybraną liczbę minut bez żadnego kodu.
Uwierzytelnianie proxy w Selenium
Większość komercyjnych proxy wymaga podania loginu i hasła. Selenium w Chrome nie obsługuje natywnie okien dialogowych uwierzytelniania proxy. To jeden z bardziej irytujących problemów, ale da się go obejść na kilka sposobów.
Metoda 1: Rozszerzenie Chrome z wbudowanym uwierzytelnianiem
Najskuteczniejsza metoda to stworzenie małego rozszerzenia Chrome, które automatycznie odpowiada na żądania uwierzytelnienia. Rozszerzenie składa się z dwóch plików: manifest.json i background.js.
- Utwórz folder
proxy_auth_extension - W
manifest.jsonzadeklaruj uprawnienia do proxy - W
background.jswstrzyknij dane logowania przezchrome.webRequest.onAuthRequired - Załaduj rozszerzenie przez
options.add_extension("proxy_auth_extension.zip")
Jest też gotowa biblioteka w Pythonie o nazwie selenium-wire, która rozszerza standardowe Selenium o obsługę proxy z uwierzytelnianiem:
from seleniumwire import webdriver
options = {
"proxy": {
"http": "http://user:password@HOST:PORT",
"https": "https://user:password@HOST:PORT"
}
}
driver = webdriver.Chrome(seleniumwire_options=options)
Key takeaway: Biblioteka selenium-wire to najprostsze rozwiązanie do uwierzytelniania proxy w Chrome. Instalacja jedną komendą: pip install selenium-wire.
Firefox radzi sobie z tym lepiej. Możesz podać dane uwierzytelnienia bezpośrednio w preferencjach profilu lub użyć formatu user:password@host:port w ustawieniach SOCKS5.
Testowanie połączenia i weryfikacja IP
Po skonfigurowaniu proxy setup w Selenium zawsze zweryfikuj, że ruch faktycznie przechodzi przez proxy. To ważny krok, który wielu pomija i potem dziwi się, że scraper dostaje blokady z prawdziwego IP.
Najprostszy test to otwarcie strony pokazującej aktualny adres IP. Możesz do tego użyć naszego narzędzia What Is My IP, które pokazuje nie tylko adres IP, ale też informacje o sieci operatora.
Przykład testu w kodzie:
driver.get("https://proxypoland.com/pl/tools/what-is-my-ip")
ip_element = driver.find_element(By.CSS_SELECTOR, ".ip-address")
print(f"Aktualny IP: {ip_element.text}")
Sprawdź też potencjalne wycieki DNS, bo Selenium może wysyłać zapytania DNS poza tunelem proxy. Narzędzie DNS Leak Test pokaże Ci, czy zapytania DNS są anonimizowane poprawnie.
- Sprawdź IP przed scrapingiem i po każdej rotacji
- Zweryfikuj lokalizację geograficzną, powinna wskazywać Polskę
- Potwierdź, że serwer DNS należy do operatora komórkowego, nie do Twojego ISP
- Zmierz prędkość połączenia przez Proxy Speed Test, typowe opóźnienie to 150-300ms dla 4G
Dodaj do swojego scrapera mechanizm automatycznego sprawdzania IP przy każdym uruchomieniu. Jeśli zwrócony IP jest taki sam jak Twój lokalny adres, scraper powinien przerwać działanie i zgłosić błąd konfiguracji.

Podsumowanie
Poprawna konfiguracja proxy w Selenium to połączenie trzech elementów: właściwego ustawienia przeglądarki, obsługi uwierzytelnienia i regularnej rotacji IP. Datacenter proxy nie sprawdzą się przy scrapingu chronionych serwisów. Mobilne 4G proxy, działające na prawdziwych modemach LTE z polskimi kartami SIM, dają realną anonimowość i wskaźnik wykrywalności bliski zeru.
Trzy najważniejsze wnioski z tego przewodnika:
- Używaj biblioteki
selenium-wiredo obsługi uwierzytelnienia proxy w Chrome, to oszczędza dużo czasu - Rotuj IP co 50-100 żądań lub przy otrzymaniu odpowiedzi 403/429
- Zawsze weryfikuj aktywny adres IP po konfiguracji i po każdej rotacji
Jeśli chcesz przestać walczyć z blokadami i skupić się na danych, przetestuj nasze mobilne proxy 4G bez ryzyka. Godzina za darmo, żadnej karty kredytowej, pełny dostęp do API rotacji. Sprawdź plany cenowe Proxy Poland i zacznij scraping bez blokad.
