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

相关问题