Un script Selenium en JavaScript envoie les commandes WebDriver au serveur distant avant que le navigateur de ce serveur puisse naviguer où que ce soit. Si la connexion des commandes doit traverser un proxy HTTP, configurez le proxy WebDriver du 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 est le véritable serveur Selenium ou le point de terminaison WebDriver hébergé. Pour un point de terminaison accessible publiquement où cette route est autorisée, la liste de proxys HTTP fournit des candidats pour usingWebDriverProxy. Exécutez le fragment dans une fonction async de CommonJS. Quittez le driver lorsque la session de test se termine.

usingWebDriverProxy contrôle les connexions HTTP de la liaison JavaScript. Il ne définit pas la capacité de proxy de Chrome ni un argument de lancement de Chrome.

Si le trafic du navigateur a aussi besoin d'un intermédiaire, fournissez les options Chrome prévues séparément. Ce navigateur s'exécute sur la machine distante, son point de terminaison proxy doit donc y être joignable. Une adresse de bouclage sur la machine du script n'est pas automatiquement un service de bouclage accessible au navigateur distant.

Déterminez si l'échec survient lors de la création de la session WebDriver ou lors de la navigation sur un site web. Les deux échecs peuvent impliquer des clients réseau et des politiques de proxy différents.

Articles similaires