使用硒通过chrome下载时如何更改文件名

时间:2018-10-23 06:47:06

标签: java selenium webdriver

我想通过“另存为”下载chrome文件,并更改文件名和该文件的位置。下面是到目前为止我编写的用于处理Windows弹出窗口的代码。但是在目录中,我得到一个临时文件,而不是任何帮助。

    System.setProperty("webdriver.chrome.driver","C://Users//mansi.shrimali//workspace//Redmine_01//chromedriver01.exe");
    Properties pro= new Properties();
    FileInputStream fip =new FileInputStream(System.getProperty("user.dir") +"/src/Config.properties");
    pro.load(fip);

    String URL=pro.getProperty("BrowserURL");

    String downloadFilepath = "D:/Download";
    ChromeOptions options = new ChromeOptions();
    HashMap<String, Object> chromePrefs = new HashMap<String, Object>();
    chromePrefs.put("profile.default_content_settings.popups", 0);
    chromePrefs.put("download.default_directory", downloadFilepath);
    options.setExperimentalOption("prefs", chromePrefs);
    //options.addArguments("--disable-extensions");

    DesiredCapabilities cap = DesiredCapabilities.chrome();
    cap.setCapability(CapabilityType.ACCEPT_SSL_CERTS, true);
    cap.setCapability(ChromeOptions.CAPABILITY, options);
    driver = new ChromeDriver(options);

1 个答案:

答案 0 :(得分:0)

下载文件后,可以使用 java 8 Files类移动和重命名文件。

import java.nio.file.Files;
import java.nio.file.Path;
import java.nio.file.Paths;

Path source = Paths.get("D:/Downloads/downloadedFileName.pdf");
Path newdir = Paths.get("C:/NewDir");
Files.move(source, newdir.resolveSibling("downloadedFileNewName.pdf"));

下面是该库的引用 https://docs.oracle.com/javase/8/docs/api/java/nio/file/Files.html