Mah*_*esh 60 java upload selenium-webdriver
任何人都可以让我知道如何使用Selenium通过Java代码上传文件?
当我点击应用程序中的按钮时,它会在新窗口中打开,我可以使用它来选择上传文件.由Silverlight(C#)开发的浏览按钮.
小智 91
首先确保输入元素可见
如在讨论中指出马克科林在这里:
不要单击浏览按钮,它将触发操作系统级别对话框并有效地停止测试死机.
相反,你可以使用:
driver.findElement(By.id("myUploadElement")).sendKeys("<absolutePathToMyFile>");
myUploadElement是该元素的id(在本例中为button),在sendKeys中,您必须指定要上载的内容的绝对路径(图像,视频等).Selenium将为您完成剩下的工作.
请记住,上传仅适用于您发送文件的元素应该在表单中<input type="file">
小智 11
driver.findElement(By.id("urid")).sendKeys("drive:\\path\\filename.extension");
Run Code Online (Sandbox Code Playgroud)
Zhe*_*eka 10
这是我用来通过上传窗口上传图片的方法:
//open upload window
upload.click();
//put path to your image in a clipboard
StringSelection ss = new StringSelection("C:\\IMG_3827.JPG");
Toolkit.getDefaultToolkit().getSystemClipboard().setContents(ss, null);
//imitate mouse events like ENTER, CTRL+C, CTRL+V
Robot robot = new Robot();
robot.keyPress(KeyEvent.VK_ENTER);
robot.keyRelease(KeyEvent.VK_ENTER);
robot.keyPress(KeyEvent.VK_CONTROL);
robot.keyPress(KeyEvent.VK_V);
robot.keyRelease(KeyEvent.VK_V);
robot.keyRelease(KeyEvent.VK_CONTROL);
robot.keyPress(KeyEvent.VK_ENTER);
robot.keyRelease(KeyEvent.VK_ENTER);
Run Code Online (Sandbox Code Playgroud)
DONE