Kieruj polecenia Java RemoteWebDriver przez proxy
Skonfiguruj ClientConfig w wykonawcy poleceń, gdy program Java musi dotrzeć do zdalnej usługi WebDriver przez proxy przekazujące.
Java runner → configured proxy → WebDriver service
remote browser → its own route → website
Dla pierwszej ścieżki skonfiguruj wykonawcę poleceń 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());
Użyj rzeczywistego punktu Grid wraz ze ścieżką jego wdrożenia. Zachowaj wymagane opcje Chrome i zakończ sesję wywołaniem driver.quit().
To java.net.Proxy dla połączenia HTTP programu Java. Capability org.openqa.selenium.Proxy z Selenium steruje natomiast ruchem stron przeglądarki; użyj jej dodatkowo tylko wtedy, gdy druga ścieżka też wymaga proxy.
Błąd utworzenia sesji lub wysłania polecenia należy do pierwszej ścieżki. Późniejsza nawigacja może nie udać się na drugiej. Uwierzytelnianie u pośrednika programu Java wymaga metody obsługiwanej przez ten transport HTTP; callback uwierzytelniania przeglądarki go nie konfiguruje.