Webdriver и прокси-сервер для Firefox - PullRequest
36 голосов
/ 22 мая 2010

Есть ли способы установить настройки прокси Firefox? Я нашел здесь информацию о FoxyProxy, но когда Selenium работает, плагины в окне неактивны.

Ответы [ 12 ]

48 голосов
/ 02 марта 2011

Значение для network.proxy.http_port должно быть целым числом (кавычки не должны использоваться), а network.proxy.type должно быть равно 1 (ProxyType.MANUAL, Настройки прокси вручную)

FirefoxProfile profile = new FirefoxProfile();
profile.setPreference("network.proxy.type", 1);
profile.setPreference("network.proxy.http", "localhost");
profile.setPreference("network.proxy.http_port", 3128);
WebDriver driver = new FirefoxDriver(profile);
21 голосов
/ 09 августа 2012

Я только что повеселился с этой проблемой в течение нескольких дней, и мне было трудно найти ответ для HTTPS, так что вот мой выбор для Java:

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

Здесь можно: введите только домен, а не http://proxy.domain.example.com, имя свойства - .ssl, а не .https

Теперь я получаю еще больше удовольствия, пытаясь заставить его принять мои самозаверяющие сертификаты ...

18 голосов
/ 16 июля 2010

Посмотрите на страницу документации .

Настройка существующего профиля Firefox

Вам необходимо изменить настройки профиля "network.proxy.http" и "network.proxy.http_port".

FirefoxProfile profile = new FirefoxProfile();
profile.addAdditionalPreference("network.proxy.http", "localhost");
profile.addAdditionalPreference("network.proxy.http_port", "3128");
WebDriver driver = new FirefoxDriver(profile);
9 голосов
/ 28 апреля 2015

Просто чтобы добавить к приведенным выше решениям.,

Добавление списка возможностей (целочисленных значений) для "network.proxy.type".

0 - Direct connection (or) no proxy. 

1 - Manual proxy configuration

2 - Proxy auto-configuration (PAC).

4 - Auto-detect proxy settings.

5 - Use system proxy settings. 

Итак, исходя из наших требований, значение «network.proxy.type» должно быть установлено, как указано ниже.

FirefoxProfile profile = new FirefoxProfile();
profile.setPreference("network.proxy.type", 1);
WebDriver driver = new FirefoxDriver(profile);
8 голосов
/ 29 декабря 2010

API WebDriver был изменен.Текущий фрагмент для настройки прокси:

FirefoxProfile profile = new FirefoxProfile();
profile.setPreference("network.proxy.http", "localhost");
profile.setPreference("network.proxy.http_port", "3128");
WebDriver driver = new FirefoxDriver(profile);
5 голосов
/ 23 апреля 2013

Вот пример Java с использованием DesiredCapabilities. Я использовал его для прокачки тестов селена в jmeter. (интересовался только HTTP-запросами)

import org.openqa.selenium.Proxy;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.firefox.FirefoxDriver;
import org.openqa.selenium.remote.CapabilityType;
import org.openqa.selenium.remote.DesiredCapabilities;

String myProxy = "localhost:7777";  //example: proxy host=localhost port=7777
DesiredCapabilities capabilities = new DesiredCapabilities();
capabilities.setCapability(CapabilityType.PROXY,
                           new Proxy().setHttpProxy(myProxy));
WebDriver webDriver = new FirefoxDriver(capabilities); 
5 голосов
/ 03 апреля 2013

В случае, если у вас есть URL автоконфигурации -

        FirefoxProfile firefoxProfile = new FirefoxProfile();
        firefoxProfile.setPreference("network.proxy.type", 2);
        firefoxProfile.setPreference("network.proxy.autoconfig_url", "http://www.etc.com/wpad.dat");
        firefoxProfile.setPreference("network.proxy.no_proxies_on", "localhost");
        WebDriver driver = new FirefoxDriver(firefoxProfile);
4 голосов
/ 21 февраля 2012

Для URL на основе PAC

 Proxy proxy = new Proxy();
 proxy.setProxyType(Proxy.ProxyType.PAC);
 proxy.setProxyAutoconfigUrl("http://some-server/staging.pac");
 DesiredCapabilities capabilities = new DesiredCapabilities();
 capabilities.setCapability(CapabilityType.PROXY, proxy);
 return new FirefoxDriver(capabilities);

Надеюсь, это поможет.

1 голос
/ 15 апреля 2015

Firefox Proxy: JAVA

String PROXY = "localhost:8080";

org.openqa.selenium.Proxy proxy = new org.openqa.selenium.Proxy();

proxy.setHttpProxy(PROXY)setFtpProxy(PROXY).setSslProxy(PROXY);

DesiredCapabilities cap = new DesiredCapabilities();

cap.setCapability(CapabilityType.PROXY, proxy); 

WebDriver driver = new FirefoxDriver(cap);
0 голосов
/ 09 мая 2012
FirefoxProfile profile = new FirefoxProfile();
String PROXY = "xx.xx.xx.xx:xx";
OpenQA.Selenium.Proxy proxy = new OpenQA.Selenium.Proxy();
proxy.HttpProxy=PROXY;
proxy.FtpProxy=PROXY;
proxy.SslProxy=PROXY;
profile.SetProxyPreferences(proxy);
FirefoxDriver driver = new FirefoxDriver(profile);

Это для C #

...