Selenium 无法使用Webdriver附加图像

Selenium 无法使用Webdriver附加图像,selenium,selenium-webdriver,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 = Drive

有人能帮我吗。我无法使用“浏览”按钮附加任何图像或任何内容

“浏览”按钮的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

假设图像具有要上载的文件的路径,例如D:\\Image1.png,请尝试以下操作:

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

img.sendKeys(Image);

注意:-无需进行img。单击;因为,它将打开一个窗口对话框,Selenium无法直接处理该对话框,因此您必须使用Sikuli/Autoit。

无需单击元素

下面给出了示例代码:

WebElement=driver.findElementBy.namedatafile;
sendKeysC:\Users\test\Desktop\testfile.jpg

图像上载无法通过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);

请您在没有img的情况下尝试。单击;步和img.sendKeysImage;-苏里亚:我也试过了……但还是不起作用。@ankur,碰巧看到你对朱希答案的评论。如我所见,您的问题是从Excelsheet检索数据。请添加有关如何检索数据的代码,即从Excel工作表中的文件上载路径。这将更容易解决。我也尝试过…但在我的情况下它不起作用..:如果我想通过硬编码代码附加图像,发送键工作得很好,但当我通过Excel阅读时,发送键不起作用..当单击图像上载时,浏览器将打开windows对话框,发送键将不起作用。逻辑上它不应该工作,我不知道它是如何工作的?