Я создаю скрипт, который требует от меня загрузки файла, поэтому я пишу что-то вроде:
@FindBy(css = "div[title='Add an attachment'] button")
private WebElementFacade FILE_UPLOAD_BUTTON;
Path path = Paths.get(System.getProperty("user.dir"));
withTimeoutOf(20, TimeUnit.SECONDS).waitFor(ExpectedConditions.visibilityOf(FILE_UPLOAD_BUTTON));
FILE_UPLOAD_BUTTON.click();
filePath = Paths.get(path.toString(), "FolderName", "ActualFileName.pdf");
StringSelection fullPath = new StringSelection(filePath.toString());
Clipboard clipboard = Toolkit.getDefaultToolkit().getSystemClipboard();
clipboard.setContents(fullPath, fullPath);
Robot robot = new Robot();
robot.keyPress(KeyEvent.VK_CONTROL);
robot.keyPress(KeyEvent.VK_V);
robot.keyRelease(KeyEvent.VK_V);
robot.keyRelease(KeyEvent.VK_CONTROL);
robot.keyPress(KeyEvent.VK_ENTER);
robot.keyRelease(KeyEvent.VK_ENTER);
pause(2000);
И работает нормально, но НЕ в безголовом хроме. Любые идеи о том, как я могу сделать загрузку файлов в Headless Chrome? ТИА.
Редактировать: Добавлено запрос к спокойствию , и Вакалео сомневался, что класс Robot будет работать на Chrome без головы, поскольку он взаимодействует с реальным пользовательским интерфейсом. Я также попробовал его предложение использовать стандартные действия Selenium, такие как chord org.openqa.selenium.Keys;
и actions org.openqa.selenium.interactions.Actions;
, и оба они все еще не работали