Як використовувати проксі з Selenium
Chrome у Selenium не приймає ім’я користувача та пароль у прапорці --proxy-server. Найпростіший спосіб, це selenium-wire, який обробляє авторизацію за вас.
Кроки
- Встановіть selenium-wire за допомогою pip install selenium-wire
- Передайте URL проксі з ім’ям користувача та паролем у seleniumwire_options
- Запустіть драйвер і відкрийте цільову сторінку
- Використовуйте session id, щоб зберегти один IP для всього тесту
Приклад коду
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()Замініть USERNAME та PASSWORD на логін проксі зі сторінки Proxies у консолі. Порт 10000, це резидентський HTTP; див. порти кожного продукту нижче.
Поради
- Вимкніть зображення за допомогою налаштувань Chrome, щоб зекономити GB
- Запустіть один драйвер на кожен статичний сеанс
Поширені запитання
Чи можу я використовувати звичайний Selenium без додаткових пакетів?
Chrome потребує розширення або selenium-wire для авторизації проксі; Firefox може читати облікові дані з профілю.