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