Encaminhe os comandos RemoteWebDriver do Java por um proxy
Configure ClientConfig no executor de comandos quando o processo Java precisar acessar um serviço WebDriver remoto por um proxy de saída.
Java runner → configured proxy → WebDriver service
remote browser → its own route → website
Para o primeiro caminho, configure o executor de comandos 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());
Use o endpoint Grid real, incluindo o caminho do seu deployment. Preserve as opções necessárias do Chrome e encerre a sessão com driver.quit().
Isso é java.net.Proxy para a conexão HTTP do processo Java. A capability org.openqa.selenium.Proxy do Selenium controla o tráfego de páginas do navegador; use-a também somente quando o segundo caminho precisar de proxy.
Uma falha na criação de sessão ou no envio de comando pertence ao primeiro caminho. Uma navegação posterior pode falhar no segundo. A autenticação no intermediário do processo Java exige um método compatível com esse transporte HTTP; um callback de autenticação do navegador não a configura.