如何在最新的Chrome驱动程序Ver:2.40中启用Headless Chrome中的下载文件

时间:2018-06-18 08:56:04

标签: java selenium google-chrome-headless

设置setHeadless(false)时,我的代码工作正常,但在无头模式下则无法正常工作。 我在很多地方搜索过,没有任何帮助。 This issue was logged in Github,但仍然处于“开放”状态。我正在使用Java Selenium。

注意:我尝试了https://stackoverflow.com中已发布的所有可能代码 获取屏幕截图并检查行为,它正在移动并单击导出图标链接,但文件未下载。

我的代码如下:

System.setProperty("webdriver.chrome.driver",
            "./Driver/chromedriver.exe");

ChromeOptions options = new ChromeOptions();

options.setHeadless(true);

options.addArguments("--disable-gpu");

options.addArguments("window-size=1600x900");

HashMap<String, Object> chromePrefs = new HashMap<String, Object>();
chromePrefs.put("profile.default_content_settings.popups", 0);
chromePrefs.put("download.default_directory", downloadFilepath);
chromePrefs.put("browser.setDownloadBehavior", "allow");
options.setExperimentalOption("prefs", chromePrefs);  

driver = new ChromeDriver(options);     
driver.get(Url);
driver.manage().window().maximize();

WebElement export = driver.findElement(By
        .xpath("//*[@id='cssmenu1']/li[1]"));

try {
    Actions act = new Actions(driver);
    act.moveToElement(export).build().perform(); 
    act.click(export).build().perform();

} catch (Exception e) {
    // TODO: handle exception
    System.out.println(e);
}

1 个答案:

答案 0 :(得分:3)

在实例化驱动程序之后,我能够为我工作。

Footer

使用这些软件包:
Selenium.Chrome.WebDriver v2.35.0
Selenium.WebDriver v3.10.0
Appium.WebDriver v4.0.0.1-beta
Chrome版本72.0.3626.121