JavaScript-Selenium-skripto sendas WebDriver-komandojn al la fora servilo antaŭ ol la retumilo de tiu servilo povas navigi ie ajn. Se la komanda konekto devas trapasi HTTP-prokuran servilon, agordu la WebDriver-prokuron de la 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 estas la reala Selenium-servilo aŭ gastigita WebDriver-finpunkto. Por publike atingebla finpunkto, kie tiu vojo estas permesata, la listo de HTTP-prokuroj liveras kandidatojn por usingWebDriverProxy. Rulu la fragmenton ene de async-funkcio de CommonJS. Fermu la stirilon kiam la testa seanco finiĝas.

usingWebDriverProxy regas la HTTP-konektojn de la JavaScript-ligilo. Ĝi ne agordas la prokuran kapablon de Chrome nek lanĉan argumenton de Chrome.

Se ankaŭ la retumila trafiko bezonas peranton, provizu la celatajn Chrome-opciojn aparte. Tiu retumilo funkcias sur la fora maŝino, do ĝia prokura finpunkto devas esti atingebla tie. Loopback-adreso sur la maŝino de la skripto ne estas aŭtomate loopback-servo disponebla al la fora retumilo.

Determinu, ĉu la malsukceso okazas dum kreado de la WebDriver-seanco aŭ dum navigado de retejo. La du malsukcesoj povas koncerni malsamajn retajn klientojn kaj malsamajn prokurajn politikojn.

Rilataj artikoloj