Selenium JavaScript: proxy forbindelsen for kommandoer til den eksterne WebDriveren
Bruk usingWebDriverProxy for JavaScript WebDriver-kommandoer som sendes til et eksternt Selenium-endepunkt.
Et JavaScript Selenium-skript sender WebDriver-kommandoer til den eksterne serveren før nettleseren på den serveren kan navigere noe sted. Hvis kommando-forbindelsen må gå gjennom en HTTP-proxy, konfigurer Builderens 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 er den faktiske Selenium-serveren eller det hostede WebDriver-endepunktet. For et offentlig tilgjengelig endepunkt der denne ruten er tillatt, leverer HTTP-proxylisten kandidater for usingWebDriverProxy. Kjør fragmentet inne i en async CommonJS-funksjon. Avslutt driveren når testøkten er over.
usingWebDriverProxy styrer HTTP-forbindelsene til JavaScript-bindingen. Det setter ikke Chromens proxy-egenskap eller et Chrome-startargument.
Hvis nettlesertrafikken også trenger en mellommann, oppgi de tiltenkte Chrome-valgene separat. Den nettleseren kjører på den eksterne maskinen, så proxy-endepunktet må være tilgjengelig der. En loopback-adresse på skriptets maskin er ikke automatisk en loopback-tjeneste som den eksterne nettleseren kan bruke.
Avgjør om feilen oppstår når WebDriver-økten opprettes, eller når en nettside navigeres. De to feilene kan involvere ulike nettverksklienter og ulike proxy-policyer.