Egy JavaScript Selenium-szkript még azelőtt WebDriver-parancsokat küld a távoli kiszolgálónak, hogy az adott kiszolgáló böngészője bárhová navigálhatna. Ha a parancskapcsolatnak HTTP-proxyn kell áthaladnia, állítsa be a Builder WebDriver-proxyját:

const { Builder, Browser } = require("selenium-webdriver");

const driver = await new Builder()
  .forBrowser(Browser.CHROME)
  .usingServer(gridUrl)
  .usingWebDriverProxy("http://proxy.example.net:8080")
  .build();

A gridUrl a valódi Selenium-kiszolgáló vagy a hosztolt WebDriver-végpont. Egy nyilvánosan elérhető végpont esetén, ahol ez az útvonal engedélyezett, a HTTP-proxylista jelölteket kínál a usingWebDriverProxy számára. Futtassa a részletet egy async CommonJS-függvényben. Fejezze be az illesztőprogramot, amikor a tesztmunkamenet véget ér.

A usingWebDriverProxy a JavaScript-kötés HTTP-kapcsolatait vezérli. Nem állítja be a Chrome proxy-képességét és nem ad hozzá Chrome-indítási argumentumot.

Ha a böngésző forgalmának is szüksége van közvetítőre, adja meg a kívánt Chrome-beállításokat külön. Az a böngésző a távoli gépen fut, ezért a proxy-végpontjának ott elérhetőnek kell lennie. A szkript gépén lévő loopback-cím nem automatikusan a távoli böngésző számára elérhető loopback-szolgáltatás.

Állapítsa meg, hogy a hiba a WebDriver-munkamenet létrehozásakor vagy egy webhelyen való navigáláskor történik-e. A két hiba különböző hálózati klienseket és eltérő proxyházirendeket érinthet.

Kapcsolódó cikkek