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.

Ähnliche Artikel