使用Java和Selenium Webdriver上传文件

时间:2016-09-13 20:22:53

标签: java selenium file-upload

我正在尝试使用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}}

但他们似乎都没有工作。机器人类打开窗口对话框,但根本不与它交互。

这是我的代码。

proper time zone name

2 个答案:

答案 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以确保它被聚焦。