firefoxのプロキシ設定を設定する方法はありますか?ここでFoxyProxyに関する情報を見つけましたが、Seleniumが動作すると、プラグインはウィンドウで非アクティブになります。
ドキュメントページ をご覧ください。
既存の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);
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);
私はこの問題を数日間楽しみましたが、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
です
私は自己署名証明書を受け入れるためにそれを取得しようとしてさらにもっと楽しんでいます...
上記のソリューションに追加するだけです。
「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);
WebDriver APIが変更されました。プロキシを設定するための現在のスニペットは
FirefoxProfile profile = new FirefoxProfile();
profile.setPreference("network.proxy.http", "localhost");
profile.setPreference("network.proxy.http_port", "3128");
WebDriver driver = new FirefoxDriver(profile);
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);
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);
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);
これが役立つことを願っています。
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);
別の解決策がありますが、このようなコードで問題が発生したため探しました(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#用です