Eit JavaScript Selenium-skript sender WebDriver-kommandoar til den eksterne serveren før nettlesaren på den serveren kan navigere nokon stad. Viss kommando-sambandet må gå gjennom ein HTTP-proxy, konfigurer WebDriver-proxyen til Builderen:

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 hosta WebDriver-endepunktet. For eit offentleg tilgjengeleg endepunkt der denne ruta er tillaten, leverer HTTP-proxylista kandidatar for usingWebDriverProxy. Køyr fragmentet inne i ein async CommonJS-funksjon. Avslutt driveren når testøkta er over.

usingWebDriverProxy styrer HTTP-sambanda til JavaScript-bindinga. Det set ikkje proxy-eigenskapen til Chrome eller eit Chrome-startargument.

Viss nettlesartrafikken òg treng ein mellommann, oppgi dei tiltenkte Chrome-vala separat. Den nettlesaren køyrer på den eksterne maskina, så proxy-endepunktet må vere tilgjengeleg der. Ei loopback-adresse på maskina til skriptet er ikkje automatisk ein loopback-teneste som den eksterne nettlesaren kan bruke.

Avgjer om feilen oppstår når WebDriver-økta blir oppretta, eller når ein navigerer på ein nettstad. Dei to feila kan involvere ulike nettverksklientar og ulike proxy-policyar.

Relaterte artiklar