嗨..当我点击上传文件按钮时,我有问题,文件上传窗口没有打开,但它有时有效,我怎么解决了?

时间:2015-05-13 07:57:32

标签: selenium-webdriver

我正在使用Selenium Webdriver和Java.I当我点击上传文件按钮时出现问题,文件上传窗口没有打开,但它有时会起作用,我是如何解决的?

1 个答案:

答案 0 :(得分:0)

不要点击文件上传而只是使用发送密钥..

WebElement upload = driver.findElement(By.id("myfile"));
upload.sendKeys("c:\\darkbulb.jpg");  

更新:

根据共享的信息,您无法使用发送密钥,因为它仅适用于<input type="file">。所以你必须使用自动,
1.从http://www.autoitscript.com/site/autoit/下载并安装自动工具 2.打开程序 - &gt;自动工具 - &gt;脚本编辑器。
3.在Autoit编辑器中粘贴以下代码并将其另存为“filename.exe”(例如:fileUpload.exe)

然后编译并构建文件以使其成为exe。 (工具→编译)。以下是autoit的代码:

WinWaitActive("File Upload"); Name of the file upload window pop-up(Windows Popup Name: File Upload)    
Send("c:\logo.jpg"); File name (absolute path preferred)   
Send("{ENTER}")  

然后从工具菜单编译和构建

使用以下Java代码调用自动文件

Java代码:

driver.findElement(By.className("qq-upload-button-selector qq-upload-button")).click; // open the Upload window using selenium    
Thread.sleep("20000"); // wait for page load    
Runtime.getRuntime().exec("C:\\Documents and Settings\\new.exe"); // Give  path where the exe is saved.