我正在尝试使用 java 为网站编写 selenium 测试。但是,我在测试文件上传时遇到了一个问题..
当我单击文件上传按钮时,它会自动打开 windows 文件上传。我有代码可以成功地将文本放入上传框中,只是我无法阻止 Windows 框自动出现,并且让网站不自动打开 Windows 文件上传并不是一个真正的选择。通过研究这个主题,我了解到 selenium webdriver 无法处理这个问题。所以我的问题是:有什么方法可以简单地自动关闭上传窗口?
我已经尝试过 java 机器人类,但它不起作用。它一直等到上传窗口关闭,然后才执行我给它的任何命令(ALT-F4,单击 xy 位置等)
提前致谢
编辑:
wait.until(ExpectedConditions.elementToBeClickable(By.id(("addResourcesButton"))));
driver.findElement(By.id("addResourcesButton")).click();
//popup window comes up automatically at this point
try {
Robot robot = new Robot();
robot.mouseMove(875, 625);
robot.mousePress(InputEvent.BUTTON1_MASK);
robot.mouseRelease(InputEvent.BUTTON1_MASK);
} catch (AWTException e) {
e.printStackTrace();
}
//my attempt to move the mouse and click, doesn't move or click until after I close the windows upload box
String fileToUpload = "C:\\file.png";
WebElement uploadElement = driver.findElement(By.id("fileInput"));
uploadElement.sendKeys(fileToUpload);
//Takes the code and successfully submits it to the text area, where I can now upload it