Envía as ordes RemoteWebDriver de Java a través dun proxy
Configura ClientConfig no executor de ordes cando o programa Java deba chegar a un servizo WebDriver remoto mediante un proxy directo.
Java runner → configured proxy → WebDriver service
remote browser → its own route → website
Para o primeiro camiño, configura o executor de ordes 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());
Usa o punto de conexión Grid real, incluído o camiño do seu despregamento. Mantén as opcións de Chrome necesarias e remata a sesión con driver.quit().
Isto é java.net.Proxy para a conexión HTTP do programa Java. A capability org.openqa.selenium.Proxy de Selenium controla, en cambio, o tráfico de páxinas do navegador; úsaa tamén só cando o segundo camiño necesite un proxy.
Un fallo ao crear a sesión ou enviar unha orde corresponde ao primeiro camiño. Unha navegación posterior pode fallar no segundo. A autenticación ante o intermediario do programa Java require un método admitido por ese transporte HTTP; un callback de autenticación do navegador non o configura.