web-dev-qa-db-ja.com

Firefox用のWebdriverとプロキシサーバー

firefoxのプロキシ設定を設定する方法はありますか?ここでFoxyProxyに関する情報を見つけましたが、Seleniumが動作すると、プラグインはウィンドウで非アクティブになります。

36
Max Frai

ドキュメントページ をご覧ください。

既存の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);
18
SSH

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);
49
Benjan Tom

私はこの問題を数日間楽しみましたが、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です

私は自己署名証明書を受け入れるためにそれを取得しようとしてさらにもっと楽しんでいます...

22
Victor

上記のソリューションに追加するだけです。

「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);
9
Praveen

WebDriver APIが変更されました。プロキシを設定するための現在のスニペットは

FirefoxProfile profile = new FirefoxProfile();
profile.setPreference("network.proxy.http", "localhost");
profile.setPreference("network.proxy.http_port", "3128");
WebDriver driver = new FirefoxDriver(profile);
8
Stefan Birkner

Autoconfig 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);
5
Saikat Sengupta

Java DesiredCapabilitiesを使用した例。Seleniumテストを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
Dan Seibert

PACベースのURL

 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);

これが役立つことを願っています。

4
Antony

Firefoxプロキシ: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);
2
Nick

別の解決策がありますが、このようなコードで問題が発生したため探しました(Firefoxでシステムプロキシを設定します):

FirefoxProfile profile = new FirefoxProfile();
profile.setPreference("network.proxy.http", "localhost");
profile.setPreference("network.proxy.http_port", "8080");
driver = new FirefoxDriver(profile);

私はこのソリューションを好む、それはFirefoxでプロキシの手動設定を強制します。そのためには、org.openqa.Selenium.Proxyオブジェクトを使用してFirefoxをセットアップします。

FirefoxProfile profile = new FirefoxProfile();
localhostProxy.setProxyType(Proxy.ProxyType.MANUAL);
localhostProxy.setHttpProxy("localhost:8080");
profile.setProxyPreferences(localhostProxy);
driver = new FirefoxDriver(profile);

それが役立つ場合...

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#用です

0
zhouyu