Как настроить аутентификацию прокси-сервера с помощью Selenium ChromeDriver в Java?JAVA

Программисты JAVA общаются здесь
Anonymous
Как настроить аутентификацию прокси-сервера с помощью Selenium ChromeDriver в Java?

Сообщение Anonymous »

У меня та же проблема, что и у этого парня: как настроить прокси-сервер с аутентификацией в Java Selenium WebDriver?
Мне нужно найти способ обойти запрос на аутентификацию прокси-сервера. . Мне уже удалось сделать это как в обычных окнах Chrome, так и в инкогнито с помощью Proxy SwitchyOmega. Однако это расширение недоступно, когда Chrome запускается из кода.
Изображение

Вот мой фрагмент кода, выполняющий Chrome
private RemoteWebDriver initChromeDesktop() {
final ChromeOptions options = new ChromeOptions();
Proxy proxy = new Proxy();
proxy.setHttpProxy("proxy:port");
proxy.setSslProxy("proxy:port");
proxy.setProxyType(Proxy.ProxyType.MANUAL);
options.setCapability("proxy",proxy);
options.addArguments("--start-maximized");
options.addArguments("--remote-allow-origins=*");
options.addArguments("--disable-search-engine-choice-screen");
options.setAcceptInsecureCerts(true);
caps.setCapability(ChromeOptions.CAPABILITY, options);
if (platform.contains(WIN)) {
caps.setCapability(CapabilityType.PLATFORM_NAME, WINDOWS_PLATFORM_NAME);
}
options.merge(caps);
try {
switch (platform) {
case PLATFORM_LOCAL:
System.setProperty(WEBDRIVER_CHROME_DRIVER, ChromeDriverPathWin);
driver = new ChromeDriver(options);
break;
default:
driver = new RemoteWebDriver(new URL(gridURL), options);
driver.setFileDetector(new LocalFileDetector());
break;
}
} catch (MalformedURLException e) {
LOGGER.log(Level.SEVERE,ERROR_GRID_SERVER, e);
}
return driver;
}

Примечание. Я подверг цензуре proxy:port в setHttpProxy и setSslProxy.
Я также пытался включить имя пользователя и пароль в HTTP-прокси:< /p>
username:password@proxy:port

и URL-адрес (устарел и не работает даже при вставке вручную в строку поиска):
http://username:password@endpoint

Альтернативное решение — включение расширения для браузера
Я полагаю, решением также было бы включить расширение Proxy SwitchyOmega в окно тестирования. Я попробовал несколько аргументов вариантов, в том числе:
options.setExperimentalOption("excludeSwitches", new String[]{"enable-automation"});
options.setExperimentalOption("useAutomationExtension", false);

а также при попытке запуска Chrome без дисплея:
options.addArguments("--headless");


Подробнее здесь: https://stackoverflow.com/questions/788 ... er-in-java

Вернуться в «JAVA»