本人在学习使用selenium2java的过程中,遇到过一个上传的元素,里面input标签是在点击上传按钮之后出现的,但是点击完按钮就会弹出一个window的选择文件的窗口,导致用例失败。经过实验,发现可以用模拟物理按键的方法解决这个问题,分享出来,供大家参考。
findElementByIdAndClick(driver, "btnAddIntroImages");
sleep(0);
pressKeyEvent(KeyEvent.VK_ESCAPE);
findElementByIdAndClearSendkeys(driver, "input-file-introImages1", "C:\\Users\\fankaiqiang\\Desktop\\123.JPG");//上传课程详情图片1
pressKeyEvent(KeyEvent.VK_ESCAPE);方法如下:
//按物理按键
public static void pressKeyEvent(int keycode) throws AWTException {
Robot robot = new Robot();
// robot.keyPress(KeyEvent.VK_ENTER);//按下enter键
robot.keyPress(keycode);
}