9

Selenium Remote WebDriver を使用しているときに、フラッシュ オブジェクトの読み込みを無効にするにはどうすればよいですか。通常のwebdriverの解決策もあれば助かります。

ほとんどの場合、Flash オブジェクトは JavaScript によって読み込まれるため、Web ドライバーとリモート Web ドライバーの両方で JavaScript を無効にしようとしましたが、うまくいきません。

次の方法で JavaScript を無効にしようとしました。

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

私も試しました:

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

Remote WebDriver の場合、私は試しました:

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

上記のステートメントの実行後、リモートサーバーが表示されます

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

それでも、ドライバーがロードするページですべての Javascript が実行され、Flash もロードされます。

助けてください: 1. フラッシュの読み込みを停止するにはどうすればよいですか。2.IE、Firefox、Chromeでページをテストする必要があるため、リモートドライバーで必要です。したがって、フォアフォックス プロファイルのロードは機能しません。

お手伝いありがとう。

4

3 に答える 3

4

Linux mint でこのコードを使用しましたが、動作します。

FirefoxProfile profile= new FirefoxProfile();
profile.setPreference("plugin.state.flash", 0);
FirefoxDriver driver = new FirefoxDriver(profile);
于 2013-09-22T13:58:30.773 に答える
0

すでに質問に回答されていますが、別のフォーラムで...だから私はあなたのために統合します...

Flash オブジェクトが JavaScript によって読み込まれるかどうかはわかりません....しかし、JavaScript を無効にすることが問題である場合は...

Firefox ドライバーの Javascript を無効にしないでください。無効にして使用したい場合は、特に非 JavaScript ページ用の HTMLUNITDRIVER を試してください。

理由は、Firefox ドライバーの重要な部分が JavaScript で実装されており、無効にすると重大な懸念が生じるからです。

一方、HtmlUnitDriver は、自動化テストの最速かつ最良の方法です (JS を使用しないページの場合のみ)。

このグループ ディスカッションを確認して ください https://groups.google.com/forum/?fromgroups=#!topic/webdriver/daLOzCiU_h4%5B1-25%5D

于 2012-10-03T11:04:39.753 に答える