2016-11-27 72 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()爲當前焦點元素生成按鍵事件。確保在生成按鍵事件之前正確設置焦點並重試。