Un script Selenium în JavaScript trimite comenzile WebDriver către serverul de la distanță înainte ca browserul acelui server să poată naviga oriunde. Dacă conexiunea comenzilor trebuie să treacă printr-un proxy HTTP, configurați proxy-ul WebDriver al Builder-ului:

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

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

gridUrl este serverul Selenium real sau endpoint-ul WebDriver găzduit. Pentru un endpoint accesibil public unde acea rută este permisă, lista de proxy-uri HTTP oferă candidați pentru usingWebDriverProxy. Rulați fragmentul într-o funcție async din CommonJS. Închideți driver-ul când sesiunea de test se termină.

usingWebDriverProxy controlează conexiunile HTTP ale legăturii JavaScript. Nu setează capacitatea de proxy a Chrome și nici un argument de lansare a Chrome.

Dacă și traficul browserului are nevoie de un intermediar, furnizați separat opțiunile Chrome dorite. Acel browser rulează pe mașina de la distanță, deci endpoint-ul său de proxy trebuie să fie accesibil acolo. O adresă loopback pe mașina scriptului nu este automat un serviciu loopback disponibil pentru browserul de la distanță.

Stabiliți dacă eșecul apare la crearea sesiunii WebDriver sau la navigarea unui site web. Cele două eșecuri pot implica clienți de rețea și politici de proxy diferite.

Articole similare