Selenium JavaScript: pasar por un proxy a conexión de ordes do WebDriver remoto
Use usingWebDriverProxy para as ordes JavaScript de WebDriver enviadas a un punto final remoto de Selenium.
Un script de Selenium en JavaScript envía as ordes WebDriver ao servidor remoto antes de que o navegador dese servidor poida navegar a calquera sitio. Se a conexión de ordes debe atravesar un proxy HTTP, configure o proxy de 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 punto final de WebDriver aloxado. Para un punto final accesible publicamente onde se permita esa ruta, a lista de proxies HTTP fornece candidatos para usingWebDriverProxy. Execute o fragmento dentro dunha función async de CommonJS. Peche o driver cando remate a sesión de proba.
usingWebDriverProxy controla as conexións HTTP do enlace JavaScript. Non establece a capacidade de proxy de Chrome nin un argumento de inicio de Chrome.
Se o tráfico do navegador tamén precisa un intermediario, forneza as opcións de Chrome previstas por separado. Ese navegador execútase na máquina remota, así que o seu punto final de proxy debe ser accesible alí. Un enderezo de loopback na máquina do script non é automaticamente un servizo de loopback dispoñible para o navegador remoto.
Determine se o fallo ocorre ao crear a sesión de WebDriver ou ao navegar por un sitio web. Os dous fallos poden implicar clientes de rede e políticas de proxy distintas.