我正在尝试使用 selenium 从 Mac 系统中特定文件夹中的 web 下载任何文件(jar 文件(,但每次都在下载文件夹中下载
Chrome 版本 -76Chromdriver 76
OS -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);
每次在下载文件夹中下载时
您必须添加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+"'}");
我认为您不应该使用浏览器下载内容,请将其留给Chrome开发人员/测试人员。
我相信你应该获取你想要下载的元素的href属性,并使用OkHTTP库获取它
如果您的网站需要身份验证,您可以从浏览器实例中获取cookie并将其传递给OkHttp Request.Builder