Настройка прокси на Selenium + Python3 + Chrome WebDriver + Docker - PullRequest
1 голос
/ 17 марта 2019

Я не могу подключиться через прокси с помощью Selenium Chrome WebDriver на Python 3.7

1 - при использовании прокси (добавление -proxy-server =% s к chrome_options)

def selenium_connect():
    PROXY = "66.97.38.58:80"
    url = "http://whatsmyip.org"
    chrome_options = webdriver.ChromeOptions()
    chrome_options.add_argument('--headless')
    chrome_options.add_argument('--no-sandbox')
    chrome_options.add_argument('--disable-dev-shm-usage')
    chrome_options.add_argument('--proxy-server=%s' % PROXY)
    driver = webdriver.Chrome(chrome_options=chrome_options)
    driver.get(url)

В этом случае я получаю пустой результат.

2 - я попробовал эту альтернативу: Как вы используете безголовый Chrome и прокси, используя селен в Python?

def selenium_connect():
    PROXY = "66.97.38.58:80"
    url = "http://whatsmyip.org"
    chrome_options = webdriver.ChromeOptions()
    chrome_options.add_argument('--headless')
    chrome_options.add_argument('--no-sandbox')
    chrome_options.add_argument('--disable-dev-shm-usage')

    desired_caps = chrome_options.to_capabilities()
    prox = Proxy()
    prox.proxy_type = ProxyType.MANUAL
    prox.http_proxy = PROXY
    prox.add_to_capabilities(desired_caps)

    driver = webdriver.Chrome(chrome_options=chrome_options, desired_capabilities=desired_caps)
    driver.get(url)

В этом случае соединение маршрутизируется через мой локальный ip, а не ip прокси. Я загрузил функцию в Docker здесь:

https://github.com/gerimo/challenge

Я использую стандартную среду Ubuntu Docker, selenium-3.141.0, хром-хромедрайвер 68.0

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...