Java runner → configured proxy → WebDriver service
remote browser → its own route → website

Для першого шляху налаштуйте виконавця команд Java:

import java.net.InetSocketAddress;
import java.net.Proxy;
import java.net.URI;
import org.openqa.selenium.chrome.ChromeOptions;
import org.openqa.selenium.remote.HttpCommandExecutor;
import org.openqa.selenium.remote.RemoteWebDriver;
import org.openqa.selenium.remote.http.ClientConfig;

var proxy = new Proxy(Proxy.Type.HTTP,
    new InetSocketAddress("proxy.example", 8080));
var config = ClientConfig.defaultConfig()
    .baseUri(URI.create("https://grid.example/"))
    .proxy(proxy);
var executor = new HttpCommandExecutor(config);
var driver = new RemoteWebDriver(executor, new ChromeOptions());

Використовуйте справжню адресу Grid разом зі шляхом, за яким його розгорнуто. Збережіть потрібні параметри Chrome і завершіть сеанс через driver.quit().

Це java.net.Proxy для HTTP-з’єднання програми Java. Capability org.openqa.selenium.Proxy із Selenium, натомість, керує трафіком сторінок браузера; використовуйте її додатково лише якщо проксі потрібен і другому шляху.

Збій створення сеансу або надсилання команди належить до першого шляху. Подальша навігація може дати збій на другому. Автентифікація в посередника програми Java вимагає методу, який підтримує цей HTTP-транспорт; callback автентифікації браузера її не налаштовує.

Схожі статті