2012-10-01 9 views
9

Selenium Remote WebDriverを使用する際に、フラッシュオブジェクトの読み込みを無効にする方法を教えてください。 通常のウェブドライバの解決策が得られれば助かります。セレンリモートWebドライバのフラッシュを無効にする方法

ほとんどの場合、FlashオブジェクトはJavaScript によってロードされるため、私はwebdriverとリモートwebdriverの両方でjavascriptを無効にしようとしましたが、動作しません。私も試してみました

WebDriver driver = new FirefoxDriver(); 
((DesiredCapabilities) driver.getCapabilities()).setJavascriptEnabled(false); 

final DesiredCapabilities firefoxCapability = DesiredCapabilities.firefox(); 
firefoxCapability.setJavascriptEnabled(false); 
new RemoteWebDriver(new URL("http://" + windowsIP + ":4444/wd/hub"), firefoxCapability); 

上記の文の実行後:私が試したリモートwebdriverをするために

DesiredCapabilities caps = new DesiredCapabilities(); 
caps.setJavascriptEnabled(false); 
WebDriver driver = new FireFoxDriver(caps); 

は私がでJavaScriptを無効にしてみましたリモートサーバーが表示します

Executing: [new session: <platform=ANY, javascriptEnabled=false, browserName=firefox, version=>] at URL:/session> 

しかし、ドライバがロードしているページとFlashもロードされているにもかかわらず、すべてのJavascriptが実行されています。

私を助けてください: 1.フラッシュのロードを停止する方法を教えてください。 2.私はIE、Firefox、Chromeのページをテストする必要があるので、リモートドライバでそれを必要とします。したがって、forefoxプロファイルを読み込むことはできません。

ありがとうございました。

+0

あなたは答えを見つけましたか? –

+0

あなたは、@ TasawerKhanによって提供された回答を必ず受け入れるべきです。 – alecxe

答えて

4

このグループディスカッションをチェックしてください:

FirefoxProfile profile= new FirefoxProfile(); 
profile.setPreference("plugin.state.flash", 0); 
FirefoxDriver driver = new FirefoxDriver(profile); 
0

それはすでに質問に答えが異なるフォーラムで...ので、私はあなたのために統合されますだけれども...

私は、フラッシュオブジェクトはJavaScriptによって読み込まれているかどうかわからないんだけど....しかし、無効にはJavaScriptがある場合問題が発生しました...

Firefox用のJavascriptを無効にしないでください。無効にしたい場合は、JavaScript以外のページ用のHTMLUNITDRIVERを試してみてください。

理由は、Firefoxのドライバの重要な部分はJavaScriptで実装されており、無効にすることは深刻な懸念を持っています。一方、

HtmlUnitDriverは(spllyなしJSがあるページ)の自動化テストのための最速かつ最良の方法である

私は、Linuxのミントでこのコードを使用し、それが動作 https://groups.google.com/forum/?fromgroups=#!topic/webdriver/daLOzCiU_h4%5B1-25%5D

+0

ありがとうございました。 – Panshul

+0

ありがとうございました。
1.私は、URLからフラッシュムービーをロードするためにJavaスクリプトを使用しているので、フラッシュを停止するために私は、Javaスクリプトをオフにする必要があります多くのページがあります。
2。HTMLunitを使用しています。異なるブラウザ(firefox、chrome、IE)でページをテストすることができないため、リモートWebドライバを使用しています。 – Panshul

+0

ようこそ:)。 HTMLUnitdriver自体は、FF、IE、Chromeのような別のブラウザですが、javaで実装されています。これにより、結果は得られますが、正確なものは得られません。 _これは良い解決策ではないことは分かっていますが、Firefoxでは手動でFlashを無効にして(つまりFlashをブロックして)プロファイルを作成し、同じプロファイルを複数のリモートドライバのインスタンスに再利用することもできます – Anuragh27crony

0

私は同じ問題を抱えていて、Chromeで解決する必要がありました。これが私の仕事の仕組みです:

ChromeOptions options = new ChromeOptions(); 
    options.addArguments("--disable-bundled-ppapi-flash"); 
    WebDriver webDriver = new org.openqa.selenium.chrome.ChromeDriver(options); 
関連する問題