Směrujte příkazy Java RemoteWebDriver přes proxy
Nastavte ClientConfig na vykonavateli příkazů, když se Java program musí připojit ke vzdálené službě WebDriver přes dopřednou proxy.
Java runner → configured proxy → WebDriver service
remote browser → its own route → website
Pro první cestu nastavte vykonavatele příkazů 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());
Použijte skutečný endpoint Grid včetně cesty, na které je nasazen. Zachovejte potřebné volby Chrome a relaci ukončete pomocí driver.quit().
Toto je java.net.Proxy pro HTTP spojení Java programu. Capability org.openqa.selenium.Proxy ze Selenium naopak řídí provoz stránek prohlížeče; použijte ji navíc jen tehdy, pokud proxy potřebuje i druhá cesta.
Selhání vytvoření relace nebo odeslání příkazu patří k první cestě. Pozdější navigace může selhat na druhé. Autentizace u prostředníka Java programu potřebuje metodu podporovanou tímto HTTP transportem; autentizační callback prohlížeče ji nenastavuje.