Надайте браузеру 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.