Задайте прокси браузеру RSelenium при открытии сеанса
Используйте extraCapabilities для маршрута браузера и отличайте отказ протокола сеанса от браузера, который не может достучаться до прокси.
Передайте прокси как возможность сеанса браузера до driver$open(), в развёртывании RSelenium, сервер WebDriver которого принимает протокол сеанса:
browser_proxy <- list(
proxyType = 'manual',
httpProxy = 'proxy.example:8080',
sslProxy = 'proxy.example:8080'
)
driver <- RSelenium::remoteDriver(
remoteServerAddr = 'webdriver.example',
port = 4444L,
browserName = 'chrome',
extraCapabilities = list(proxy = browser_proxy)
)
driver$open()remoteServerAddr задаёт службу WebDriver. Возможность описывает, куда браузер идёт дальше. Одна настройка HTTP-прокси в R этот маршрут браузера не настраивает.
Используйте host:port в полях httpProxy и sslProxy. Второе выбирает адреса HTTPS; это не подразумевает прослушиватель прокси, защищённый TLS. Публичный HTTP-кандидат из списка HTTP-прокси даёт хост и порт для этих полей при условии, что хост браузера может до него добраться.
Какой сбой произошёл первым?
Если открытие сеанса отклонено, проверьте совместимость протокола, прежде чем менять конечную точку прокси. Источник remoteDriver в RSelenium отправляет устаревшие desiredCapabilities; любой текущий сервер WebDriver может отклонить этот формат ещё до того, как появится браузер для проверки маршрута.
Если сеанс открывается, но навигация не удаётся, проверьте доступность с фактического хоста браузера. Для контейнера или узла Grid localhost означает этот узел, а не рабочую станцию R.