我需要将chrome浏览器(59最新版本)中的文件下载到specfic目录,而不显示窗口弹出窗口。 使用下面的代码,它显示了窗口弹出窗口。如果我不使用此文件将下载到下载文件夹而不显示任何Windows弹出窗口。我见过很多人都面临类似的问题,但这段代码对他们来说效果很好。这是最新Chrome的问题吗?
String downloadFilepath = TestConstants.FILE_PATH;
HashMap<String, Object> chromePrefs = new HashMap<String, Object>();
chromePrefs.put("profile.default_content_settings.popups", 0);
chromePrefs.put("download.prompt_for_download", "false");
chromePrefs.put("download.default_directory", downloadFilepath);
ChromeOptions options = new ChromeOptions();
options.setExperimentalOption("prefs", chromePrefs);
DesiredCapabilities cap = DesiredCapabilities.chrome();
cap.setCapability(CapabilityType.ACCEPT_SSL_CERTS, true);
cap.setCapability(ChromeOptions.CAPABILITY, options);
driver = new ChromeDriver(cap);
答案 0 :(得分:0)
以下是您的问题的答案:
当我使用Selenium 3.4.0,ChromeDriver 2.30&amp; S测试此功能时。 Chrome 59.0,我尝试使用您自己的代码从网址https://www.microsoft.com/en-in/download/details.aspx?id=45485
下载excel文件以及一些简单的调整。代码块在我的最后工作正常。
System.setProperty("webdriver.chrome.driver", "C:\\Utility\\BrowserDrivers\\chromedriver.exe");
String downloadFilepath = "C:\\Utility\\OP_Resources\\ChromeDownload";
HashMap<String, Object> chromePrefs = new HashMap<String, Object>();
chromePrefs.put("profile.default_content_settings.popups", 0);
chromePrefs.put("download.prompt_for_download", "false");
chromePrefs.put("download.default_directory", downloadFilepath);
ChromeOptions options = new ChromeOptions();
options.setExperimentalOption("prefs", chromePrefs);
options.addArguments("start-maximized");
options.addArguments("disable-infobars");
DesiredCapabilities cap = DesiredCapabilities.chrome();
cap.setCapability(CapabilityType.ACCEPT_SSL_CERTS, true);
cap.setCapability(ChromeOptions.CAPABILITY, options);
WebDriver driver = new ChromeDriver(cap);
driver.get("https://www.microsoft.com/en-in/download/details.aspx?id=45485");
JavascriptExecutor jse = (JavascriptExecutor)driver;
jse.executeScript("window.scrollBy(0,200)", "");
driver.findElement(By.linkText("Download")).click();
如果这回答你的问题,请告诉我。