Как настроить аутентификацию прокси-сервера с помощью 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
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

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