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

Pour le premier trajet, configurez l’exécuteur de commandes 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());

Utilisez le véritable point d’accès Grid, y compris son chemin de déploiement. Conservez les options Chrome nécessaires et terminez la session avec driver.quit().

Il s’agit de java.net.Proxy pour la connexion HTTP du programme Java. La capability org.openqa.selenium.Proxy de Selenium régit plutôt le trafic des pages du navigateur ; utilisez-la aussi uniquement si le second trajet a besoin d’un proxy.

Un échec de création de session ou d’envoi de commande relève du premier trajet. Une navigation ultérieure peut échouer sur le second. L’authentification auprès de l’intermédiaire du programme Java nécessite un mécanisme pris en charge par ce transport HTTP ; un callback d’authentification du navigateur ne la configure pas.

Articles similaires