Trimite comenzile Java RemoteWebDriver printr-un proxy
Configurează ClientConfig pe executorul de comenzi când programul Java trebuie să ajungă la un serviciu WebDriver la distanță printr-un proxy direct.
Java runner → configured proxy → WebDriver service
remote browser → its own route → website
Pentru prima cale, configurează executorul de comenzi 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());
Folosește endpointul Grid real, inclusiv calea la care este instalat serviciul. Păstrează opțiunile Chrome necesare și încheie sesiunea cu driver.quit().
Acesta este java.net.Proxy pentru conexiunea HTTP a programului Java. Capability org.openqa.selenium.Proxy din Selenium controlează, în schimb, traficul paginilor din browser; folosește-o suplimentar doar dacă a doua cale are nevoie de proxy.
Un eșec la crearea sesiunii sau trimiterea comenzii aparține primei căi. O navigare ulterioară poate eșua pe a doua. Autentificarea la intermediarul programului Java necesită o metodă acceptată de acel transport HTTP; un callback de autentificare al browserului nu o configurează.