Как настроить автоматическое определение параметров прокси в Selenium WebDriver с помощью Java

Привет, я пишу код / ​​скрипт Java Selenium WebDriver.

public static WebDriver dr =null;
public static EventFiringWebDriver driver=null;

dr = new FirefoxDriver();

driver = new EventFiringWebDriver(dr);
driver.manage().timeouts().implicitlyWait(30, TimeUnit.SECONDS);

Итак, браузер Firefox открывается, но настройки прокси останавливаются.

Если это вручную, я пошел в Сервис-> Параметры-Настройки-> Там я дал Авто-определения параметров прокси для этой сети
Это работает.

Но всякий раз, когда я открываю по сценарию, я думаю, что открывается новый профиль. Вот почему я установил истинные настройки прокси-сервера для этой сети с помощью скрипта.

Так что вы можете помочь мне, как это сделать?

Спасибо Раджу

4 ответа

Решение

Это хорошее решение:

import org.openqa.selenium.Proxy.ProxyType;` 

public static WebDriver dr = null;
org.openqa.selenium.Proxy proxy = new org.openqa.selenium.Proxy(); 
proxy.setSslProxy("proxyurl"+":"+8080); 
proxy.setFtpProxy("proxy url"+":"+8080); 
proxy.setSocksUsername("SSSLL277"); 
proxy.setSocksPassword("password"); 

DesiredCapabilities dc = DesiredCapabilities.firefox();
dc.setCapability(CapabilityType.PROXY, proxy); 
dr = new FirefoxDriver(dc);

Вы можете установить настройки профиля по крайней мере с помощью драйвера Firefox. Попробуйте следующее:

FirefoxProfile ff = new FirefoxProfile();
ff.setPreference("network.proxy.type", ProxyType.AUTODETECT.ordinal());
FirefoxDriver ffD = new FirefoxDriver(ff);

Это решение, которое сработало для меня, немного как комбинация первых двух и достаточно простое. Не нужно было делать индивидуальную аутентификацию пользователя.

import org.openqa.selenium.Proxy.ProxyType;
import org.openqa.selenium.firefox.FirefoxProfile;

FirefoxProfile profile = new FirefoxProfile();
profile.setPreference("network.proxy.type", 1);
profile.setPreference("network.proxy.http", "proxy.something.com");
profile.setPreference("network.proxy.http_port", 8080);
profile.setPreference("network.proxy.ssl", "proxy.something.com");
profile.setPreference("network.proxy.ssl_port", 8080);


WebDriver driver = new FirefoxDriver(profile); 

Вот что я делаю, чтобы установить автоопределение:

FirefoxProfile profile = new FirefoxProfile();
Proxy proxy = new Proxy();
proxy.IsAutoDetect=true;
profile.SetProxyPreferences(proxy);
driver = new FirefoxDriver(profile);
Другие вопросы по тегам