Selenium JavaScript: passar por um proxy a conexão de comandos do WebDriver remoto
Use usingWebDriverProxy para comandos JavaScript WebDriver enviados a um endpoint remoto do Selenium.
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.