Настройка прокси на selenoid webdriver

#python-3.x #selenium-webdriver #web-scraping #proxy #selenoid

#python-3.x #selenium-webdriver #очистка веб-страниц #прокси #selenoid

Вопрос:

Я подключаюсь к контейнеру selenoid с веб-драйвером

 from selenium import webdriver
from selenium.webdriver.common.proxy import Proxy, ProxyType
proxy = 'proxy address'
link = '2ip.ru'

capabilities = {
            "browserName": 'firefox',
            "version": '71.0',
            "platform": 'LINUX'
        }
prox = Proxy()
prox.proxy_type = ProxyType.MANUAL
prox.http_proxy = proxy
prox.ssl_proxy = proxy
prox.socks_proxy = proxy
prox.add_to_capabilities(capabilities)
driver = webdriver.Remote(
            command_executor='http://localhost:4444/wd/hub',
            desired_capabilities=capabilities
        )
driver.get(link)
  

Получение страницы с любым прокси с тем же IP в 2ip.ru или любых подобных веб-сайтов. Почему selenoid не применяет IP-адрес прокси?
Пробовал изображения selenoid / firefox: 60,0, selenoid /firefox: 61,0, selenoid / firefox: 62,0, selenoid /firefox: 70,0, selenoid /firefox: 71,0, selenoid / firefox: 72,0.

Комментарии:

1. Просто передайте возможности прокси в виде обычных полей объекта JSON: capabilities[‘proxy’] = { «HttpProxy»: PROXY, «ftpProxy»: PROXY, «SSLProxy»: PROXY, «NoProxy»: None, «proxyType»: «MANUAL», «class»:»org.openqa.selenium. Прокси», «автоопределение»: False }

2. Это говорит мне exception Message: Invalid proxy configuration entry: autodetect

3. Хорошо, удалите поля класса и автоматического определения. Следует использовать только поля, описанные в спецификации. w3.org/TR/webdriver/#proxy

4. С capabilities['proxy'] = { "httpProxy":proxy, "ftpProxy":proxy, "sslProxy":proxy, "noProxy":None, "proxyType":"MANUAL" } я получаю exception Message: noProxy is not an array: null

5. С capabilities['proxy'] = { "httpProxy":proxy, "ftpProxy":proxy, "sslProxy":proxy, "proxyType":"MANUAL" } я получаю Stacktrace: WebDriverError@chrome://marionette/content/error.js:178:5 UnknownError@chrome://marionette/content/error.js:483:5 handleReadyState@chrome://marionette/content/listener.js:271:21 handleEvent@chrome://marionette/content/listener.js:239:9