10

Selenium WebDriver 2.31.2でChrome Web Driver 2.10 chromedriver_win32.zipを使用しています。

詳細ログを有効にすると、DesiredCapabilities ( https://sites.google.com/a/chromium.org/chromedriver/capabilities ) が問題なく渡されたようです。

[1.174][FINE]:      Initializing session with capabilities {

   "browserName": "chrome",

   "chrome.switches": [  ],

   "chromeOptions": {

      "args": [  ],

      "binary": "",

      "extensions": [  ],

      "prefs": {

         "download.default_directory": "C:\\Downloads",

         "download.directory_upgrade": "true",

         "download.extensions_to_open": "",

         "download.prompt_for_download": "false"

      }

   },

   "javascriptEnabled": true,

   "platform": "WINDOWS",

   "version": ""

}

しかし、Chrome Web Driver はダウンロードではなく*.mp4を再生しています。

Selenium Webdriver .NET binding を使用して Chrome 設定を設定する方法で解決策を試しましたか? しかし、新しい Chrome Web Driver バージョンでは動作しないようで、selenium-dotnet-2.31.2chromedriver_win_26.0.1383.0で使用しようとするとクラッシュします。

誰か提案がありますか?

4

3 に答える 3

8
ChromeOptions options = new ChromeOptions();
Map<String, Object> prefs = new HashMap<String, Object>();
prefs.put("profile.default_content_settings.popups", 0);
prefs.put("download.default_directory", getClass().getResource("/data/input").toString().replace("%20", " ").replace("file:","").replaceFirst("/", ""));
options.setExperimentalOption("prefs", prefs);

options.addArguments("--test-type");
capabilities.setCapability(ChromeOptions.CAPABILITY, options);
于 2015-02-13T11:09:40.403 に答える
3

以下のコードでこれを機能させました:

System.setProperty("webdriver.chrome.driver", "/path/to/chromedriver");
String downloadFilepath = "/path/to/download";
HashMap<String, Object> chromePrefs = new HashMap<String, Object>();
chromePrefs.put("profile.default_content_settings.popups", 0);
chromePrefs.put("download.default_directory", downloadFilepath);
ChromeOptions options = new ChromeOptions();
HashMap<String, Object> chromeOptionsMap = new HashMap<String, Object>();
options.setExperimentalOptions("prefs", chromePrefs);
options.addArguments("--test-type");
DesiredCapabilities cap = DesiredCapabilities.chrome();
cap.setCapability(ChromeOptions.CAPABILITY, chromeOptionsMap);
cap.setCapability(CapabilityType.ACCEPT_SSL_CERTS, true);
cap.setCapability(ChromeOptions.CAPABILITY, options);
WebDriver driver = new ChromeDriver(cap);
于 2014-07-18T06:28:32.283 に答える