我正在尝试使用网络驱动程序自动上传文件,我的 HTML 是 它是文件类型。
使用Firebug,我得到了ID,文本框和按钮也是如此。
通过使用这个命令getWebDriverObj().findElement(By.id("fileupload")).sendKeys("code.txt"); 我无法获取结果。
有没有人遇到这种情况,如果有的话,你能帮帮我吗?
谢谢拉古拉姆。
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. 通过单击按钮调用文件选择对话框(使用 webdriver 方法 click() 或 javascript "document.getElementById('id').click()"2.并将控制权发送到Autoit(或其他东西),AutoIt将与文件选择对话框一起使用(键入文件的地址,单击按钮)例如:
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/