2017-01-11 4 views
0

私はセレン2.53.0になっています(私はFirefoxに取り組む必要があるため3.0に更新したくないので、セレニウムはFFのアクションを実装していませんでした)。FirefoxをプライベートモードでSelenium 2.53.1に設定するにはどうしたらいいですか?

私の問題がある:私は、私はFFプロファイルを使用して、私が持っている、そのために

(私はFFのインスタンスの多くを走ったので、私はキャッシュを維持する必要はありません)プライベートモードでFFを開こう証明書なので、私はそれを受け入れます。 Firefoxで設定、私はこの2見つかりました:

私のコードは次のとおりです。私がやったときので

 FirefoxDriverManager.getInstance().setup(); 

     capabilities.setBrowserName("firefox"); 
     capabilities.setVersion("46"); 

     ProfilesIni profile = new ProfilesIni(); 
     FirefoxProfile ffProfile = profile.getProfile("default"); 

     ffProfile.setPreference("browser.private.browsing.autostart", true); 
     ffProfile.setPreference("browser.privatebrowsing.autostart", true); 

     //accept the certificate 
     ffProfile.setAcceptUntrustedCertificates(true); 
     ffProfile.setAssumeUntrustedCertificateIssuer(false); 
     capabilities.setCapability(FirefoxDriver.PROFILE, ffProfile); 
     WebDriver webDriver = new FirefoxDriver(); 

私は"browser.private.browsing.autostart""browser.privatebrowsing.autostart"を試してみました。

私は何のエラーも受けていません、私のテストを実行しますが、プライベートではありません。あなたは何か考えていますか? 私はこれを見つけましたpost答えがありません。

答えて

4

上記のコードサンプルでは、​​プロファイルを2回設定しようとしています。引数の1つを削除してみてください。限り、

ffProfile.setPreference("browser.privatebrowsing.autostart", true); 

はあなたのために働いていません、別の回避策の解決策があります。あなたがこれを理解するまで働くことができます。

訪問しているページで、プライベートウィンドウを開く場所を見つけます。たとえば、次のように、その後

Driver.FindElement(By.ByXpath(//div[@id="loginButton"])).sendKeys(Keys.chord(Keys.CONTROL, Keys.SHIFT, "P")); 

そして、あなたはあなたのテストのための新しいプライベートウィンドウを使用することができますit..ThenするはCtrl +Shiftキー + Pを送ります。おそらく最高の解決策ではありませんが、これは100%動作します。私のマシンでテストされたばかりです。

運が良かった!

+0

それは「ワーキング」だ、それはabsolutlyのプライバシーに関する情報を印刷することにより、私のテスト:)を停止しますが、はい、私のページには、プライベートモードです。なぜ私の好みがうまくいかないのか知っていますか?回避策のコードを変更する必要があります。 – Bob

+1

おそらく、あなたはgetWindowHandles()を必要とし、そして新しく開かれたウィンドウに切り替える必要があるので、あなたのテストを止めるでしょう。それまでの間、私はあなたのための設定からFirefoxを起動することができるかどうか試してみるつもりです。 –

+0

about:configをfirefoxに入力すると、ブール変数browser.privatebrowsingがtrueに設定されていることがわかります(ただし、Firefoxはまだプライベートではない通常のウィンドウで開きます)。しかし、以下のこの公式リンク(常にプライベートブラウジングを使用)に従って、https://support.mozilla.org/en-US/kb/private-browsing-use-firefox-without-history#w_can-i-set-firefox-to -always-use-private-browsingを実行すると、Firefoxが起動すると紫色のリボンは表示されません。しかし、本質的には、それは私的なモードの歴史を覚えていないためです。そして別のリンク。 http://ccm.net/faq/15012-how-to-start-firefox-in-private-mode-by-default –

1
FirefoxOptions opts = new FirefoxOptions(); 
opts.addArguments("-private"); 
FirefoxDrive f = new FirefoxDriver(opts); 

FFのV54とセレンと、現在の作業3.4.0

関連する問題