【发布时间】:2020-10-14 16:02:02
【问题描述】:
手动步骤:
-
在显示的应用程序 Windows 对话框上单击浏览。
-
在 windows 对话框的文件名字段中输入文件路径。
-
点击打开按钮
-
它附加文件。
使用机器人类的代码:
@Test
public void test(){
WebElement element = driver.findElement(By.className("attach"));
element.click();
waitSeconds(9000);
Robot robot = new Robot();
robot.keyPress(KeyEvent.VK_SHIFT);
robot.keyPress(KeyEvent.VK_S);
robot.keyRelease(KeyEvent.VK_SHIFT);
robot.keyPress(KeyEvent.VK_1);
robot.keyPress(KeyEvent.VK_PERIOD);
robot.keyPress(KeyEvent.VK_T);
robot.keyPress(KeyEvent.VK_X);
robot.keyPress(KeyEvent.VK_T);
robot.keyPress(KeyEvent.VK_ENTER);}
当我运行测试时,除了最后一行之外,它工作得很好。 最后一行按回车键就好了。之后,对话框再次打开。所以文件永远不会附加。 Windows 对话框有两个按钮:打开和取消。在文件名字段中输入文件路径后,它应该按一次打开按钮。我该怎么做?
【问题讨论】:
-
尝试模拟按 Alt+O 而不是 Enter。或者使用
element.sendKeys("C:\...\D1.txt");插入文件路径,避免上传对话框。见guru99.com/upload-download-file-selenium-webdriver.html -
UI 字段不是文本字段。所以不能直接在 UI 中插入文件路径。我会试试 Alt+O
-
检查我的答案。我猜比使用 Robot 要好。
标签: selenium