任何人都可以帮忙吗?我无法使用“浏览”按钮附加任何图像或任何内容。
“浏览”按钮的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
答案 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);