我尝试从Gmail中的文件夹上传多个图片,是否可以通过机器人类在网络驱动程序中使用。
driver.findElement(By.className("aoT")).click();
driver.findElement(By.className("aoT")).sendKeys("hi");
WebElement frame1 = driver.findElement(By.cssSelector("div[class='Am Al editable LW-avf']"));
frame1.click();
frame1.sendKeys("mailBody");
driver.manage().timeouts().implicitlyWait(5, TimeUnit.SECONDS);
driver.findElement(By.xpath("//div[@class='a1 aaA aMZ']")).click();
//click on attachment icon
StringSelection ss = new StringSelection("E:\\cv\\");
//upload your file using RobotClass
//attach your path where file is located.
Toolkit.getDefaultToolkit().getSystemClipboard().setContents(ss, null);
Robot robot = new Robot();
Thread.sleep(5000);
robot.keyPress(KeyEvent.VK_CONTROL);
robot.keyPress(KeyEvent.VK_V);
robot.keyRelease(KeyEvent.VK_CONTROL);
robot.keyRelease(KeyEvent.VK_V);
Thread.sleep(6000);
robot.keyPress(KeyEvent.VK_ENTER);
robot.keyRelease(KeyEvent.VK_ENTER);
Thread.sleep(10000);
E:/ cv ----包含文件的数量,因此需要知道从特定文件夹中选择所有文件。谢谢!
答案 0 :(得分:0)
是的,这是可能的。
您可以在这样的数组中累积要上传的图像的所有文件路径:
String arr[] = {"\"D:\\Images\\default.jpg\"", "\"E:\\Images\\plant4.jpg\"", "\"F:\\Jpeg-image.jpeg\""};
注意:图片不必来自同一位置
在一个字符串中连接文件路径数组(上面)的所有内容,如下所示:
for(int i=1;i<arr.length;i++){
Arr_Final+=arr[i];
}
StringSelection ss = new StringSelection(Arr_Final);
将Final String作为参数,同时创建 StringSelection 类的对象:
"D:\Images\default.jpg""E:\Images\plant4.jpg""F:\Jpeg-image.jpeg"
现在,当此字符串粘贴在对话框的“文件名”字段中时,它将表示如下:
的 MyWrapper
强>
然后,当点击打开按钮时,所有相关图像开始上传。
希望这会有所帮助..