在macOSX中的Selenium中的特定文件夹中下载文件

时间:2019-08-21 19:40:59

标签: java selenium webdriver testng selenium-chromedriver

我正在尝试使用硒从Web上的Mac System的“特定”文件夹中的Web下载任何文件(jar文件),但是每次都在“下载”文件夹中进行下载

Chrome版本-76
Chromdriver 76
操作系统-Mac

我尝试使用给定的代码,但仍然无法将文件保存在特定的文件夹中

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","/Users/username/Documents/WORKSPACE/ARU1/");

Options.setExperimentalOption("prefs", chromePrefs);

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

WebDriver driver = new ChromeDriver(cap);

每次下载都在下载文件夹中

2 个答案:

答案 0 :(得分:0)

您必须添加setDownloadBehavior

例如:

HashMap chromePrefs = new HashMap();
chromePrefs.put("profile.default_content_settings.popups", 0);
chromePrefs.put("download.default_directory","/Users/username/Documents/WORKSPACE/ARU1/");
chromePrefs.put("browser.set_download_behavior","{ behavior: 'allow' , downloadPath: '"+_PATH_TO_DOWNLOAD_DIR+"'}");

答案 1 :(得分:0)

我认为您不应该使用浏览器来下载内容,而是将其留给Chrome开发人员/测试人员使用。

我相信您宁愿获得href attribute想要下载的元素并使用OkHTTP library

如果您的站点需要身份验证,则可以从浏览器实例中获取cookies并将其传递给OkHttp Request.Builder