Скрыпт Selenium на JavaScript адпраўляе каманды WebDriver на аддалены сервер да таго, як браўзер гэтага сервера зможа куды-небудзь перайсці. Калі злучэнне камандаў павінна прайсці праз HTTP-проксі, наладзьце проксі WebDriver у Builder:

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

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

gridUrl — гэта сапраўдны сервер Selenium або размешчаная канчатковая кропка WebDriver. Для публічна даступнай канчатковай кропкі, дзе такі маршрут дазволены, спіс HTTP-проксі падае кандыдатаў для usingWebDriverProxy. Запусціце фрагмент унутры асінхроннай функцыі CommonJS. Завяршыце працу драйвера, калі тэставая сесія скончыцца.

usingWebDriverProxy кіруе HTTP-злучэннямі прывязкі JavaScript. Ён не задае магчымасць проксі Chrome і не дадае аргумент запуску Chrome.

Калі трафіку браўзера таксама патрэбен пасярэднік, падайце патрэбныя параметры Chrome асобна. Гэты браўзер працуе на аддаленай машыне, таму яго канчатковая кропка проксі павінна быць даступная там. Адрас loopback на машыне скрыпта не з'яўляецца аўтаматычна службай loopback, даступнай аддаленаму браўзеру.

Вызначце, ці адбываецца збой падчас стварэння сесіі WebDriver, ці падчас навігацыі па сайце. Гэтыя два збоі могуць закранаць розных сеткавых кліентаў і розныя палітыкі проксі.

Падобныя артыкулы