无法使用Webdriver附加图像

时间:2014-11-11 09:01:20

标签: selenium selenium-webdriver

任何人都可以帮忙吗?我无法使用“浏览”按钮附加任何图像或任何内容。

“浏览”按钮的HTML片段如下:

input id="ctl00_PlaceHolderMain_ITSNewIssue_file_upload" class="multi MultiFile-applied" type="file" name="ctl00$PlaceHolderMain0TSNewIssue$file_upload" value=""

我的Webdriver代码是:

WebElement img = Driver.findElement(By.xpath(".//*[@id='ctl00_PlaceHolderMain_ITSNewIssue_file_upload']"));
img.click();
img.sendKeys("Image");

我正在阅读通过Excel文件在sendkeys中传递的图像变量值。

最早的任何帮助都将受到高度赞赏。

由于 Ankur Garg

3 个答案:

答案 0 :(得分:0)

假设图片包含您要上传的文件的路径,请说“D:\\ Image1.png”,请尝试以下操作:

WebElement img = Driver.findElement(By.xpath(".//*[@id='ctl00_PlaceHolderMain_ITSNewIssue_file_upload']"));

img.sendKeys(Image);

注意: - 无需执行 img.click(); 因为,它会打开一个窗口对话框,Selenium无法直接处理,你将不得不使用 Sikuli / Autoit

答案 1 :(得分:0)

无需点击元素。

以下给出的示例代码:

WebElement element = driver.findElement(By.name(" datafile")); element.sendKeys(" C:\ Users \用户测试\桌面\ testfile.jpg&#34);

答案 2 :(得分:0)

sendKeys()无法完成图片上传。您必须使用Robot类或autoIt脚本 如果您选择第一个选项,则可以使用以下代码:

    WebElement img = Driver.findElement(By.xpath(".//*[@id='ctl00_PlaceHolderMain_ITSNewIssue_file_upload']"));        
         StringSelection ss = new StringSelection("Your file path");
         Toolkit.getDefaultToolkit().getSystemClipboard().setContents(ss,
         null);

         Robot robot = new Robot();
         robot.keyPress(KeyEvent.VK_ENTER);
         robot.keyRelease(KeyEvent.VK_ENTER);
         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);