我正在创建一个需要我上传文件的脚本,所以我写了如下内容:
@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 中却不行。关于如何在 Headless chrome 中上传文件的任何想法?TIA。
编辑:增加了对 serenity 的询问,wakaleo 怀疑 Robot 类将在 headless chrome 上工作,因为它与真实的 UI 交互。我还尝试了他的建议,使用标准硒操作,例如chord org.openqa.selenium.Keys;andactions org.openqa.selenium.interactions.Actions;并且两者仍然无效
慕田峪4524236
鸿蒙传说
守着星空守着你
相关分类