Запуск селена за прокси-сервером

Я использую селен для автоматического моделирования браузера и веб-скребок в python, и он хорошо сработал для меня. Но теперь я должен запустить его за прокси-сервером. Итак, теперь selenium откроет окно, но не смог открыть запрошенную страницу из-за отсутствия настроек прокси-сервера в открывшемся браузере. Текущий код выглядит следующим образом (образец):

from selenium import webdriver sel = webdriver.Firefox() sel.get('http://www.google.com') sel.title sel.quit() 

Как изменить приведенный выше код для работы с прокси-сервером сейчас?

3 Solutions collect form web for “Запуск селена за прокси-сервером”

Вам нужно установить желаемые возможности или профиль браузера, например:

 profile = webdriver.FirefoxProfile() profile.set_preference("network.proxy.type", 1) profile.set_preference("network.proxy.http", "proxy.server.address") profile.set_preference("network.proxy.http_port", "port_number") profile.update_preferences() driver = webdriver.Firefox(firefox_profile=profile) 

Также см. Связанные темы:

Официальная документация Selenium ( http://docs.seleniumhq.org/docs/04_webdriver_advanced.jsp#using-a-proxy ) содержит четкие и полезные рекомендации по использованию прокси-сервера. Для Firefox (который является предпочтительным браузером в вашем примере кода) вы должны сделать следующее:

 from selenium import webdriver from selenium.webdriver.common.proxy import * myProxy = "host:8080" proxy = Proxy({ 'proxyType': ProxyType.MANUAL, 'httpProxy': myProxy, 'ftpProxy': myProxy, 'sslProxy': myProxy, 'noProxy': '' # set this value as desired }) driver = webdriver.Firefox(proxy=proxy) 

Это сделает работу:

 import selenium from selenium.webdriver.common.proxy import * proxyHost = "my.proxy.host or IP" proxyPort = "55555" fp = webdriver.FirefoxProfile() fp.set_preference("network.proxy.type", 1) #fp.set_preference("network.proxy.http", proxyHost) #HTTP PROXY #fp.set_preference("network.proxy.http_port", int(proxyPort)) #fp.set_preference("network.proxy.ssl", proxyHost) #SSL PROXY #fp.set_preference("network.proxy.ssl_port", int(proxyPort)) fp.set_preference('network.proxy.socks', proxyHost) #SOCKS PROXY fp.set_preference('network.proxy.socks_port', int(proxyPort)) fp.update_preferences() driver = webdriver.Firefox(firefox_profile=fp) driver.get("http://www.whatismyip.com/") 
  • Профиль веб-драйвера Selenium Firefox - отключить окна всплывающих окон и предупреждений
  • Selenium Webdriver / Beautifulsoup + Веб-скребок + Ошибка 416
  • Как исправить Selenium WebDriverException: браузер, кажется, вышел, прежде чем мы могли подключиться?
  • Не удается запустить Internet Explorer через привязки python Selenium WebDriver
  • Как отключить Flash в Firefox с помощью Selenium в Python?
  • Python Selenium: как проверить, действительно ли WebDriver завершает работу ()?
  • Не хотите, чтобы изображения загружались и CSS отображался в Firefox в тестах Selenium WebDriver с помощью Python
  • Selenium ChromeDriver - HTTP 407 на driver.quit ()
  • Selenium WebDriverWait, но все же «Элемент не кликается в точке»
  • Использование Firefox с Selenium webdriver не записывает историю
  • Как получить текущий URL-адрес в Selenium Webdriver 2 Python?
  •  
    Interesting Posts for Van-Lav
    Python - лучший язык программирования в мире.