如何处理从模态窗口Selenium WebDriver Java上传文件

时间:2012-04-26 20:09:42

标签: java selenium webdriver

我需要上传文件。 步骤是: 1.单击按下哪个校准模式窗口。 (Linux窗口没有位置栏) 2.选择正确的文件并上传。

非常感谢任何帮助。 使用Chrome Firefox驱动程序和Java。

3 个答案:

答案 0 :(得分:4)

这已经被问到several times,也在一些Selenium FAQ中。

// assuming driver is a well instantiated WebDriver
WebElement fileInput = driver.findElement(By.xpath("//input[@type='file']"));
fileInput.sendKeys("C:/path/to/file.jpg");

我们的想法是直接将文件路径发送到您通常单击的元素以获取模态窗口 - 即<input type='file' />元素。

答案 1 :(得分:0)

我找到Robot class

的解决方法

这是代码:

try {
    Robot robot = new Robot();

    robot.delay(3000);
    robot.keyPress(KeyEvent.VK_P);      
    robot.keyRelease(KeyEvent.VK_P);
    robot.keyPress(KeyEvent.VK_ENTER);
    robot.keyRelease(KeyEvent.VK_ENTER);
    } catch (AWTException e) {
    e.printStackTrace();

    }

答案 2 :(得分:0)

对于模态窗口,我更喜欢使用带有selenium的autoit,autoit是一个非常轻量级的应用程序,可以创建脚本并编译生成exe文件并在你的selenium中运行exe文件,

有关详细信息,请参阅here