2016-11-27 67 views
0

我试图上传一个使用机器人框架的文件,文件路径被写入搜索窗口内,但有时候Enterkey没有被点击。无法使用机器人框架使用'KeyEvent.VK_ENTER'点击Enter键

是否有任何其他方式,或这是浏览器cookies的问题?而且我也尝试清除cookie,但没有运气。请帮我解决一下这个。

代码尝试:

public void uploadFile (String FilePath) throws Throwable { 

    WebElement upload = _driver.findElement(By.id("upload_btn")); 
    upload.click(); 

    CommonFunctions.setClipboardData(FilePath); 
    Robot robot = new Robot(); 

    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); 
} 
+0

什么是这个网页? – qxz

+0

你是说有些时候它不工作..可能会尝试一些睡眠之前和之后的Enter键..确保浏览器处于活动焦点.. –

回答

0

以下是上传文件的另一种方式:

public void uploadFile (String filePath) { 
WebElement upload = _driver.findElement(By.xpath("//input[@type='file']")); 
upload.sendKeys(filePath); 

}

0

Robot.keyPress()为当前焦点元素生成按键事件。确保在生成按键事件之前正确设置焦点并重试。