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.

Artigos relacionados