Скрипт 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, чи під час переходу сайтом. Ці два збої можуть стосуватися різних мережевих клієнтів і різних політик проксі.

Схожі статті