Направьте команды Java RemoteWebDriver через прокси
Настройте ClientConfig у исполнителя команд, если программа Java должна обращаться к удалённой службе WebDriver через прямой прокси.
Java runner → configured proxy → WebDriver service
remote browser → its own route → website
Для первого пути настройте исполнителя команд Java:
import java.net.InetSocketAddress;
import java.net.Proxy;
import java.net.URI;
import org.openqa.selenium.chrome.ChromeOptions;
import org.openqa.selenium.remote.HttpCommandExecutor;
import org.openqa.selenium.remote.RemoteWebDriver;
import org.openqa.selenium.remote.http.ClientConfig;
var proxy = new Proxy(Proxy.Type.HTTP,
new InetSocketAddress("proxy.example", 8080));
var config = ClientConfig.defaultConfig()
.baseUri(URI.create("https://grid.example/"))
.proxy(proxy);
var executor = new HttpCommandExecutor(config);
var driver = new RemoteWebDriver(executor, new ChromeOptions());
Используйте настоящий адрес Grid вместе с путём, по которому он развёрнут. Сохраните нужные параметры Chrome и завершите сеанс через driver.quit().
Это java.net.Proxy для HTTP-соединения программы Java. Capability org.openqa.selenium.Proxy из Selenium, напротив, управляет трафиком страниц браузера; используйте её дополнительно только если прокси нужен и второму пути.
Сбой создания сеанса или отправки команды относится к первому пути. Последующая навигация может дать сбой на втором. Аутентификация у посредника программы Java требует метода, поддерживаемого этим HTTP-транспортом; браузерный callback аутентификации её не настраивает.