Selenium JavaScript: led kommandoförbindelsen till den fjärrstyrda WebDriver via en proxy
Använd usingWebDriverProxy för JavaScript WebDriver-kommandon som skickas till en fjärransluten Selenium-slutpunkt.
Ett JavaScript Selenium-skript skickar WebDriver-kommandon till fjärrservern innan serverns webbläsare kan navigera någonstans. Om kommandoförbindelsen måste gå genom en HTTP-proxy, konfigurera Builderns WebDriver-proxy:
const { Builder, Browser } = require("selenium-webdriver");
const driver = await new Builder()
.forBrowser(Browser.CHROME)
.usingServer(gridUrl)
.usingWebDriverProxy("http://proxy.example.net:8080")
.build();gridUrl är den riktiga Selenium-servern eller den hostade WebDriver-slutpunkten. För en offentligt nåbar slutpunkt där den vägen är tillåten tillhandahåller HTTP-proxylistan kandidater för usingWebDriverProxy. Kör fragmentet inuti en async CommonJS-funktion. Avsluta drivrutinen när testsessionen slutar.
usingWebDriverProxy styr JavaScript-bindningens HTTP-anslutningar. Det ställer inte in Chromens proxyfunktion eller ett Chrome-startargument.
Om webbläsartrafiken också behöver en mellanhand, ange de avsedda Chrome-alternativen separat. Den webbläsaren körs på fjärrmaskinen, så dess proxy-slutpunkt måste vara nåbar där. En loopback-adress på skriptets maskin är inte automatiskt en loopback-tjänst som fjärrwebbläsaren kan använda.
Avgör om felet inträffar när WebDriver-sessionen skapas eller när en webbplats navigeras. De två felen kan involvera olika nätverksklienter och olika proxyprinciper.