Um script Selenium em JavaScript envia comandos WebDriver ao servidor remoto antes que o navegador desse servidor possa navegar para qualquer lugar. Se a conexão de comandos precisar atravessar um proxy HTTP, configure o proxy WebDriver do 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 é o servidor Selenium real ou o endpoint WebDriver hospedado. Para um endpoint acessível publicamente onde essa rota é permitida, a lista de proxies HTTP fornece candidatos para usingWebDriverProxy. Execute o trecho dentro de uma função async do CommonJS. Encerre o driver quando a sessão de teste terminar.

usingWebDriverProxy controla as conexões HTTP da vinculação JavaScript. Não define a capacidade de proxy do Chrome nem um argumento de inicialização do Chrome.

Se o tráfego do navegador também precisar de um intermediário, forneça as opções do Chrome pretendidas separadamente. Esse navegador é executado na máquina remota, então o endpoint de proxy dele precisa ser alcançável lá. Um endereço de loopback na máquina do script não é automaticamente um serviço de loopback disponível para o navegador remoto.

Identifique se a falha ocorre ao criar a sessão WebDriver ou ao navegar por um site. As duas falhas podem envolver clientes de rede e políticas de proxy diferentes.

Artigos relacionados