我使用Java Robot在Selenium中自动上传文件。以下是我的代码。
StringSelection stringSelection = new StringSelection(imageFileName);
Toolkit.getDefaultToolkit().getSystemClipboard().setContents(stringSelection, null);
Robot robot;
try {
robot = new Robot();
//imitate mouse events like ENTER, CTRL+C, CTRL+V
robot.delay(250);
robot.keyPress(KeyEvent.VK_ENTER);
robot.keyRelease(KeyEvent.VK_ENTER);
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);
} catch (AWTException e) {
logger.debug(e);
logger.debug("Error while dealing with non-browser window");
}
如果在窗口“最近”选项中被选中,则会出现问题。
如果在窗口中它指向“计算机”,那么我将获得位置搜索栏,我可以在其中粘贴文件路径并单击打开。
如果在窗口中它指向“计算机”以外的任何内容,请告诉我如何处理。如果它指向别的东西我想点击计算机并执行。