Selenium JavaScript: kierowanie połączenia poleceń zdalnego WebDrivera przez proxy
Użyj usingWebDriverProxy dla poleceń JavaScript WebDriver wysyłanych do zdalnego punktu końcowego Selenium.
Skrypt Selenium w JavaScripcie wysyła polecenia WebDriver do zdalnego serwera, zanim przeglądarka tego serwera będzie mogła gdziekolwiek przejść. Jeśli połączenie poleceń musi przechodzić przez proxy HTTP, skonfiguruj proxy WebDrivera w Builderze:
const { Builder, Browser } = require("selenium-webdriver");
const driver = await new Builder()
.forBrowser(Browser.CHROME)
.usingServer(gridUrl)
.usingWebDriverProxy("http://proxy.example.net:8080")
.build();gridUrl to rzeczywisty serwer Selenium lub hostowany punkt końcowy WebDriver. W przypadku publicznie dostępnego punktu końcowego, w którym ta trasa jest dozwolona, lista proxy HTTP dostarcza kandydatów dla usingWebDriverProxy. Uruchom fragment wewnątrz asynchronicznej funkcji CommonJS. Zakończ działanie sterownika po zakończeniu sesji testowej.
usingWebDriverProxy steruje połączeniami HTTP powiązania JavaScript. Nie ustawia możliwości proxy Chrome ani argumentu uruchamiania Chrome.
Jeśli ruch przeglądarki również wymaga pośrednika, podaj zamierzone opcje Chrome osobno. Ta przeglądarka działa na zdalnej maszynie, więc jej punkt końcowy proxy musi być tam osiągalny. Adres loopback na maszynie skryptu nie jest automatycznie usługą loopback dostępną dla zdalnej przeglądarki.
Ustal, czy błąd występuje podczas tworzenia sesji WebDrivera, czy podczas nawigacji po witrynie. Oba błędy mogą dotyczyć różnych klientów sieciowych i różnych zasad proxy.