Selenium JavaScript: die WebDriver-Befehlsverbindung zum entfernten Server über einen Proxy führen
Verwenden Sie usingWebDriverProxy für JavaScript-WebDriver-Befehle, die an einen entfernten Selenium-Endpunkt gesendet werden.
Ein Selenium-Skript in JavaScript sendet WebDriver-Befehle an den entfernten Server, bevor der Browser dieses Servers irgendwohin navigieren kann. Muss die Befehlsverbindung einen HTTP-Proxy durchlaufen, konfigurieren Sie den WebDriver-Proxy des Builders:
const { Builder, Browser } = require("selenium-webdriver");
const driver = await new Builder()
.forBrowser(Browser.CHROME)
.usingServer(gridUrl)
.usingWebDriverProxy("http://proxy.example.net:8080")
.build();gridUrl ist der echte Selenium-Server oder ein gehosteter WebDriver-Endpunkt. Für einen öffentlich erreichbaren Endpunkt, an dem diese Route zulässig ist, liefert die HTTP-Proxy-Liste Kandidaten für usingWebDriverProxy. Führen Sie das Fragment in einer async-Funktion von CommonJS aus. Beenden Sie den Treiber, wenn die Testsitzung endet.
usingWebDriverProxy steuert die HTTP-Verbindungen der JavaScript-Anbindung. Es setzt weder die Proxy-Fähigkeit von Chrome noch ein Startargument für Chrome.
Wenn auch der Browserverkehr einen Vermittler benötigt, geben Sie die vorgesehenen Chrome-Optionen getrennt an. Dieser Browser läuft auf dem entfernten Rechner, daher muss sein Proxy-Endpunkt dort erreichbar sein. Eine Loopback-Adresse auf dem Rechner des Skripts ist nicht automatisch ein Loopback-Dienst, der dem entfernten Browser zur Verfügung steht.
Stellen Sie fest, ob der Fehler beim Erstellen der WebDriver-Sitzung oder beim Navigieren auf einer Website auftritt. Die beiden Fehler können unterschiedliche Netzwerkclients und unterschiedliche Proxy-Richtlinien betreffen.