Как настроить автоматическое определение параметров прокси в 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);