Un script de Selenium en JavaScript envía comandos WebDriver al servidor remoto antes de que el navegador de ese servidor pueda navegar a cualquier sitio. Si la conexión de comandos debe atravesar un proxy HTTP, configure el proxy de WebDriver del 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 es el servidor Selenium real o el extremo de WebDriver alojado. Para un extremo accesible públicamente donde se permita esa ruta, la lista de proxies HTTP ofrece candidatos para usingWebDriverProxy. Ejecute el fragmento dentro de una función async de CommonJS. Cierre el driver cuando termine la sesión de prueba.

usingWebDriverProxy controla las conexiones HTTP del enlace de JavaScript. No establece la capacidad de proxy de Chrome ni un argumento de inicio de Chrome.

Si el tráfico del navegador también necesita un intermediario, proporcione las opciones de Chrome previstas por separado. Ese navegador se ejecuta en la máquina remota, así que su extremo de proxy debe ser accesible allí. Una dirección de loopback en la máquina del script no es automáticamente un servicio de loopback disponible para el navegador remoto.

Determine si el fallo ocurre al crear la sesión de WebDriver o al navegar por un sitio web. Ambos fallos pueden implicar clientes de red y políticas de proxy distintas.

Artículos relacionados