Java runner → configured proxy → WebDriver service
remote browser → its own route → website

Konfigurieren Sie für den ersten Pfad den Java-Befehlsausführer:

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());

Verwenden Sie den tatsächlichen Grid-Endpunkt samt Bereitstellungspfad. Behalten Sie erforderliche Chrome-Optionen bei und beenden Sie die Sitzung mit driver.quit().

Hier wird java.net.Proxy für die HTTP-Verbindung des Runners verwendet. Seleniums Capability org.openqa.selenium.Proxy steuert dagegen den Seitenverkehr des Browsers; setzen Sie sie zusätzlich nur dann, wenn auch der zweite Pfad einen Proxy braucht.

Ein Fehler beim Anlegen der Sitzung oder Senden eines Befehls gehört zum ersten Pfad. Eine spätere Navigation kann am zweiten scheitern. Die Authentifizierung beim Vermittler des Runners benötigt ein vom HTTP-Transport unterstütztes Verfahren; ein Authentifizierungs-Callback des Browsers konfiguriert sie nicht.

Ähnliche Artikel