如何使用webdriver自动上传文件。

时间:2012-05-04 06:52:24

标签: file automation webdriver

我正在尝试使用webdriver自动上传文件,我的HTML是  它是文件类型。

使用firebug我得到了id,文本框和按钮也一样。

使用此命令getWebDriverObj()。findElement(By.id(“fileupload”))。sendKeys(“code.txt”);我无法获取结果。

是否有人遇到过这种情况,如果是这样,请你帮助我。

由于 拉古拉姆。

2 个答案:

答案 0 :(得分:1)

仅限Autois Windows。

这是一个更强大的解决方案:

为此您将找到实际输入框的“id”(提供文件路径的位置),然后使用以下命令:

driver.findElement(By.id("upload")).sendKeys("/path/to/the/file");
driver.findElement(By.id("upload_button")).click();

如果您使用的是WebDriverBackedSelenium,则可以使用:

  

selenium.type(“locator”,“/ path / to / the / file”);

selenium.click("upload_button");

答案 1 :(得分:0)

如果以前的方法不起作用 你可以尝试下一个链。 1.通过单击按钮调用文件选择对话框(使用webdriver方法单击()或javascript“document.getElementById('id')。click()” 2.将控制发送到Autoit(或其他),AutoIt将与文件选择对话框一起使用(键入addres to file,单击按钮) 例如:

        var Autoit = new AutoItX3();
        const string widowTitle = "File Upload";
        Autoit.WinWait(widowTitle, "File &name:", 10);
        Autoit.ControlSetText(widowTitle, "", "[CLASS:Edit; INSTANCE:1]", pathToFile);
        Autoit.ControlClick(widowTitle, "", "[CLASS:Button; INSTANCE:1]");
        Autoit.WinWaitClose(widowTitle, "File &name:", 10);

设置java和AutoIt http://code.google.com/p/autoitx4java/