Selenium JavaScript: propojení příkazů vzdáleného WebDriveru přes proxy
Použijte usingWebDriverProxy pro příkazy JavaScript WebDriver odesílané na vzdálený koncový bod Selenium.
Skript Selenium v JavaScriptu odesílá příkazy WebDriver vzdálenému serveru dříve, než se prohlížeč na tomto serveru může kamkoli přesunout. Pokud musí spojení příkazů procházet přes HTTP proxy, nakonfigurujte proxy WebDriveru v Builderu:
const { Builder, Browser } = require("selenium-webdriver");
const driver = await new Builder()
.forBrowser(Browser.CHROME)
.usingServer(gridUrl)
.usingWebDriverProxy("http://proxy.example.net:8080")
.build();gridUrl je skutečný server Selenium nebo hostovaný koncový bod WebDriveru. Pro veřejně dostupný koncový bod, kde je tato trasa povolena, poskytuje seznam HTTP proxy kandidáty pro usingWebDriverProxy. Spusťte fragment uvnitř asynchronní funkce CommonJS. Po skončení testovací relace ukončete driver.
usingWebDriverProxy řídí HTTP spojení javascriptové vazby. Nenastavuje možnost proxy v Chrome ani argument pro spuštění Chrome.
Pokud i provoz prohlížeče potřebuje prostředníka, zadejte zamýšlené možnosti Chrome zvlášť. Tento prohlížeč běží na vzdáleném počítači, takže jeho koncový bod proxy musí být dostupný tam. Adresa loopback na počítači skriptu není automaticky službou loopback dostupnou vzdálenému prohlížeči.
Určete, zda k selhání dochází při vytváření relace WebDriveru, nebo při navigaci na webové stránce. Obě selhání mohou zahrnovat různé síťové klienty a různé zásady proxy.