Как использовать прокси с 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
- Запускайте один драйвер на sticky сессию
Частые вопросы
Можно ли использовать чистый Selenium без дополнительных пакетов?
Chrome требует расширение или selenium-wire для входа в прокси; Firefox может читать учетные данные из профиля.