我正在尝试使用Selenium Webdriver和Java上传文件..我已经尝试过列出的许多建议,例如
WebElement addFiles = driver.findElement(By.id("add-files"));
addFiles.click();
StringSelection filepath = new StringSelection("C:\\Users\\Documents\\Screening.pdf");
Toolkit.getDefaultToolkit().getSystemClipboard().setContents(filepath, null);
Robot robot = new Robot();
Thread.sleep(3000);
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);
以及机器人类
{{1}}
但他们似乎都没有工作。机器人类打开窗口对话框,但根本不与它交互。
这是我的代码。
答案 0 :(得分:0)
我认为你需要两者兼而有之,似乎你的第一个声明就是在寻找错误的元素。 试试这个:
WebElement addFiles = driver.findElement(By.id("add-files"));
addFiles.sendKeys("C:\\Users\\Documents\\Screening.pdf");
答案 1 :(得分:0)
您可以尝试两种建议:
1)发送密钥后,你可能需要点击一些ok / submit按钮才能工作。
2)使用机器人:确保焦点在该对话框上。可能你必须按一些TAB或alt-TAB以确保它被聚焦。