Smerujte príkazy Java RemoteWebDriver cez proxy
Nastavte ClientConfig na vykonávateľovi príkazov, keď sa Java program musí pripojiť k vzdialenej službe WebDriver cez doprednú proxy.
Java runner → configured proxy → WebDriver service
remote browser → its own route → website
Pre prvú cestu nastavte vykonávateľa príkazov 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žite skutočný endpoint Grid vrátane cesty, na ktorej je nasadený. Zachovajte potrebné voľby Chrome a reláciu ukončite pomocou driver.quit().
Toto je java.net.Proxy pre HTTP spojenie Java programu. Capability org.openqa.selenium.Proxy zo Selenium naopak riadi prevádzku stránok prehliadača; použite ju navyše iba vtedy, ak proxy potrebuje aj druhá cesta.
Zlyhanie vytvorenia relácie alebo odoslania príkazu patrí k prvej ceste. Neskoršia navigácia môže zlyhať na druhej. Autentifikácia u sprostredkovateľa Java programu potrebuje metódu podporovanú týmto HTTP transportom; autentifikačný callback prehliadača ju nenastavuje.