Мой код отлично работает, когда установлено setHeadless(false)
, но не в безголовом режиме. Я искал во многих местах, и ничего не помогло мне. Эта проблема зарегистрирована в 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);
}