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 аутентификации её не настраивает.

Похожие статьи