私は過去2日間のjavaを使用してクロームドライバのドライバ設定を運行なしに設定する方法を探していました。Selenium 2 chromeドライバの環境設定RubyBindingsに相当するJava
私はRuby VIA RubyBindingsのソリューションを見つけましたが、これに使用できるJavaの同等の行があるかどうかを知りたいと思います。
Rubyコードは以下の通りです:
profile = Selenium::WebDriver::Chrome::Profile.new
profile['download.prompt_for_download'] = false
profile['download.default_directory'] = "/path/to/dir"
driver = Selenium::WebDriver.for :chrome, :profile => profile
検索私はクロムは、私はFirefoxProfileクラスのように使用することができプロファイラを持っていないことがわかったので、私が代わりにDesireCapabilitiesクラスを使用して開始している間。この問題をさらに調査した後、私は「スイッチ」と「環境設定」VIA capabilities.setCapabilitiyを設定することができることを発見し、以下になってしまった:
Map<String, String> prefs = new Hashtable<String, String>();
prefs.put("download.prompt_for_download", "false");
prefs.put("download.default_directory", "/path/to/dir");
prefs.put("download.extensions_to_open", "pdf");
DesiredCapabilities capabilities = DesiredCapabilities.chrome();
capabilities.setCapability("chrome.prefs", prefs);
dr = new ChromeDriver(capabilities);
私は、デフォルトのこの作業を取得することができませんでしたがダウンロードしたディレクトリは、一度起動すると指定したディレクトリに変更されませんでした。どのようにこの機能を設定しようとしているか、問題が他の場所にあるかどうかに問題があるかどうかは不明です。最後に
は私が最終的に解決策がここで提案使用:
http://dkage.wordpress.com/2012/03/10/mid-air-trick-make-selenium-download-files/
が、行うことは可能であれば私が知りたいのですが、このもっときれいにちょうど好みを設定する代わりに、直接のUI
使用お手数ですが、ありがとうございます!
更新:(ウィンドウが22をChromeにして)、マップで上記のコードが期待作品として
は、驚くべきことに、バージョン2.24.1へのセレン2を更新した後、唯一の問題は今、彼らはの使用は推奨しませんということです コンストラクタChromeDriver(DesiredCapabilities機能)を使用して、代わりにChromeOptionsクラスを使用することをお勧めします。これは上記のシナリオではうまくいきません。以下は
ChromeOptionsとDesiredCapabilitiesの両方の使用を説明するwikiページです:
{
"download": {
"prompt_for_download": false,
"default_directory": "/path/to/dir"
}
}
あなたのJavaのprefsを構築してみているようなオブジェクトおよびかどうかを確認: http://code.google.com/p/chromedriver/wiki/CapabilitiesAndSwitches
私は提案がありがとうございました。残念ながら、そうしても依然として助けにはなりませんでした(私はchromeがデフォルトで問題の可能性を避けるために "prompt_for_download"を除外していました) – Zero4573