2016-05-19 2 views
1

Я использую chromedriver с селеном для загрузки файлов из приложения. Но при нажатии на кнопке загрузки в приложении, он дал ошибку как «Failed-Download error.»Невозможно загрузить файл с помощью ChromeDriver

Chromedriver версию: версия 2,21 Селена: 2.53.0

код для инициализации хромированного драйвера и изменения местоположения загрузки:

  String newPath = "D:\\Backup" + File.separator + "Database "; 
      new File(newPath).mkdir(); 
      HashMap<String, Object> chromePrefs = new HashMap<String, Object>(); 
      chromePrefs.put("profile.default_content_settings.popups", 0); 
      chromePrefs.put("download.default_directory", newPath); 
      chromePrefs.put("safebrowsing.enabled", "true"); 
      ChromeOptions options = new ChromeOptions(); 
      options.setExperimentalOption("prefs", chromePrefs); 
      options.addArguments("--test-type"); 
      DesiredCapabilities cap = DesiredCapabilities.chrome(); 
      cap.setCapability(CapabilityType.ACCEPT_SSL_CERTS, true); 
      cap.setCapability("disable-popup-blocking", true); 
      cap.setCapability(ChromeOptions.CAPABILITY, options); 
      System.setProperty("webdriver.chrome.driver", CHROME_DRIVER_PATH); 
      driver = new ChromeDriver(cap); 
      // Maximize the driver window 
      driver.manage().window().maximize(); 

Ошибка:

enter image description here

Может ли кто-нибудь помочь мне с этим? Я могу загрузить файл из Chrome вручную.

ответ

1

A Failed - Download error отображается, когда предоставленная папка отсутствует или недоступна. Это может быть так, потому что я заметил дополнительное пространство в конце, которое, вероятно, будет удалено после создания папки. Попробуйте вместо этого:

String newPath = Path.Combine("D:\\Backup", "Database"); 
if (!Directory.Exists(newPath)){ 
    newPath = Directory.CreateDirectory(newPath).FullName; 
} 
+0

Dint извещение больше пространство. Благодарю. –

Смежные вопросы