0

我知道這個主題是重複的,但是,我也應用了其他解決方案,並且作爲結果,我有一個關於將正確的密鑰發送到正確的文件上傳位置的問題窗口。如何使用Selenium WebDriver處理Firefox上傳文件窗口 - 爪哇

我用這段代碼打開和發送鍵上傳文件:

WebElement fileInput = driver.findElement(By.id("upload-resume-button")); 
fileInput.sendKeys("C:/Users/EvrenosCareer/Desktop/filename.pdf"); 

通過發送鍵正確的按鈕被激活,文件上傳窗口打開如預期,但按鍵被髮送爲別的,它出現在瀏覽器的左下角;不是文件上傳窗口。請檢查這個環節,5秒的視頻,看看到底是什麼我談論:https://evrenos-hotmail.tinytake.com/sf/MTcxNDY0N181Njg2OTY1

回答

0

您可以直接做fileInput.sendKeys(「C:/Users/EvrenosCareer/Desktop/filename.pdf」)如果類型的元素是「文件」否則你將不得不上傳文件使用機器人類。您無需單擊fileInput即可在該元素上發送密鑰。通過機器人類

上傳文件:

WebElement element = driver.findElement(By.id("upload-resume-button")); 
element.click(); 
StringSelection stringSelection = new StringSelection("path to File"); 
Toolkit.getDefaultToolkit().getSystemClipboard().setContents(stringSelection, 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); 
robot.keyPress(KeyEvent.VK_ENTER); 
robot.keyRelease(KeyEvent.VK_ENTER); 
+0

即按鈕,大家都在談論,我想通過它來發送關鍵,當你點擊或嘗試發送鍵的Firefox打開文件上傳窗口。 '' – HellYeah2511

+0

您無法在此按鈕上發送密鑰。使用Robot類上傳文件。 – Monika

+0

使用Robot Class上傳文件的功能更新了答案。 – Monika

相關問題