机器人 Class 无法在 Selenium webDriver 的 IE 11 中上传文件
Robot Class is not working for file upload in IE 11 in Selenium webDriver
我正在尝试在 IE11 中使用 java 在 selenium webdriver 中上传文件。下面的代码是点击浏览按钮,但它没有在新打开的 window 上输入或粘贴要上传的文件名。它只是卡住了,没有任何反应。无法调试机器人 Class 没有响应的代码 also.Seems。
我也尝试过发送密钥,但行为不一致。
<input name="ctl00$PlaceHolderMain$UploadDocumentSection$ctl05$InputFile" title="Choose a file" class="ms-fileinput ms-fullWidth" id="ctl00_PlaceHolderMain_UploadDocumentSection_ctl05_InputFile" onfocus="ResetSpFormOnSubmitCalled();" onchange="CheckAssetLibMediaExtension()" type="file" size="35">
driver.manage().window().maximize(); WebElement element12 = (new WebDriverWait(driver, 10)).until(ExpectedConditions.elementToBeClickable(Main.newdocument(driver))); Main.newdocument(driver).click(); Thread.sleep(500); element12 = driver.findElement(By.xpath("//iframe[@class='ms-dlgFrame']")); driver.switchTo().frame(element12);
Thread.sleep(2000);
WebElement element = driver.findElement(By.xpath("//input[@type='file']"));
JavascriptExecutor executor = (JavascriptExecutor)driver;
executor.executeScript("arguments[0].click();", element);
Robot robot = new Robot();
StringSelection sel = new StringSelection("C:\Users\m9kuil\Desktop\ImportAttendeeTemplate.xlsx");
// Copy to clipboard
Toolkit.getDefaultToolkit().getSystemClipboard().setContents(sel,null);
robot.keyPress(KeyEvent.VK_CONTROL);
robot.keyPress(KeyEvent.VK_V);
// Release CTRL+V
robot.keyRelease(KeyEvent.VK_V);
robot.keyRelease(KeyEvent.VK_CONTROL);
//Press Enter
robot.keyPress(KeyEvent.VK_ENTER);
robot.keyRelease(KeyEvent.VK_ENTER);
robot.delay(1000);
在评论前写 robot.delay(10000);
尝试一次 //Press Enter
无需机器人即可上传文件的其他简单选择 class :
driver.findElement(By.xpath(".//input[@type='file']")).sendKeys("C:\Users\m9kuil\Desktop\ImportAttendeeTemplate.xlsx");
wait(10000)
我正在尝试在 IE11 中使用 java 在 selenium webdriver 中上传文件。下面的代码是点击浏览按钮,但它没有在新打开的 window 上输入或粘贴要上传的文件名。它只是卡住了,没有任何反应。无法调试机器人 Class 没有响应的代码 also.Seems。 我也尝试过发送密钥,但行为不一致。
<input name="ctl00$PlaceHolderMain$UploadDocumentSection$ctl05$InputFile" title="Choose a file" class="ms-fileinput ms-fullWidth" id="ctl00_PlaceHolderMain_UploadDocumentSection_ctl05_InputFile" onfocus="ResetSpFormOnSubmitCalled();" onchange="CheckAssetLibMediaExtension()" type="file" size="35">
driver.manage().window().maximize(); WebElement element12 = (new WebDriverWait(driver, 10)).until(ExpectedConditions.elementToBeClickable(Main.newdocument(driver))); Main.newdocument(driver).click(); Thread.sleep(500); element12 = driver.findElement(By.xpath("//iframe[@class='ms-dlgFrame']")); driver.switchTo().frame(element12);
Thread.sleep(2000);
WebElement element = driver.findElement(By.xpath("//input[@type='file']"));
JavascriptExecutor executor = (JavascriptExecutor)driver;
executor.executeScript("arguments[0].click();", element);
Robot robot = new Robot();
StringSelection sel = new StringSelection("C:\Users\m9kuil\Desktop\ImportAttendeeTemplate.xlsx");
// Copy to clipboard
Toolkit.getDefaultToolkit().getSystemClipboard().setContents(sel,null);
robot.keyPress(KeyEvent.VK_CONTROL);
robot.keyPress(KeyEvent.VK_V);
// Release CTRL+V
robot.keyRelease(KeyEvent.VK_V);
robot.keyRelease(KeyEvent.VK_CONTROL);
//Press Enter
robot.keyPress(KeyEvent.VK_ENTER);
robot.keyRelease(KeyEvent.VK_ENTER);
robot.delay(1000);
在评论前写 robot.delay(10000);
尝试一次 //Press Enter
无需机器人即可上传文件的其他简单选择 class :
driver.findElement(By.xpath(".//input[@type='file']")).sendKeys("C:\Users\m9kuil\Desktop\ImportAttendeeTemplate.xlsx");
wait(10000)