[英]File Upload using Selenium WebDriver and Java Robot Class
[英]Upload a file using selenium webdriver WITHOUT using Robot API or selenium command send keys
我有一个Web应用程序正在使用Outsystem for UI。 因此,“文件上传”按钮的类型为“提交”,而不是类型为“文件”,因此是硒代码
driver.findElement(By.id("browse")).sendKeys("/path/to/the/file");
用于上传文件的文件不适用于我。 我也尝试了机器人API的代码
WebElement ele = driver.findElement(By.id("Browse"));
ele.click();
StringSelection ss = new StringSelection(FilePath);
Toolkit.getDefaultToolkit().getSystemClipboard().setContents(ss, null);
Robot robot = new Robot();
robot.keyPress(KeyEvent.VK_CONTROL);
robot.keyPress(KeyEvent.VK_V);
robot.keyRelease(KeyEvent.VK_V);
robot.keyRelease(KeyEvent.VK_CONTROL);
Thread.sleep(500);
robot.keyPress(KeyEvent.VK_ENTER);
robot.keyRelease(KeyEvent.VK_ENTER);
有时效果很好,但是大多数时候都失败了,因为焦点已从窗口移开了。 我的脚本将运行很长时间,在这种情况下,始终将焦点始终放在窗口上是不可行的。 有人可以建议我其他方法来解决Selenium中的上传文件过程吗?
我在这里了解到的是您无法等到弹出窗口弹出时出现,因为我们无法明确等待窗口弹出,因此在启动机器人之前,我通过放置Thread.sleep(2000)
解决了此问题类,以便可以在我们开始使用它之前显示弹出窗口。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.