【发布时间】:2015-05-16 13:59:24
【问题描述】:
这是我用来通过上传窗口上传图片的代码。在网站上有 5 个上传按钮,在这里我尝试从两个浏览按钮上传两张图片。但我的问题是,从第一个窗口上传图片并关闭窗口,但从第二个上传窗口复制图片 url 但上传窗口没有关闭。
第一个窗口代码:
driver.findElement(By.xpath("//li[@id='upload_1']/input")).click();
StringSelection ss = new StringSelection("D:\\cars\\audi.jpg");
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);
第二个窗口代码:
driver.findElement(By.xpath("//li[@id='upload_2']/input")).click(); StringSelection ss1 = new StringSelection("C:\\Cars\\audiLights.jpg");
Toolkit.getDefaultToolkit().getSystemClipboard().setContents(ss1, null);
Robot robot1 = new Robot();
robot1.keyPress(KeyEvent.VK_ENTER);
robot1.keyRelease(KeyEvent.VK_ENTER);
robot1.keyPress(KeyEvent.VK_CONTROL);
robot1.keyPress(KeyEvent.VK_V);
robot1.keyRelease(KeyEvent.VK_V);
robot1.keyRelease(KeyEvent.VK_CONTROL);
robot1.keyPress(KeyEvent.VK_ENTER);
robot1.keyRelease(KeyEvent.VK_ENTER);
【问题讨论】:
-
我建议您在按下最后一个 Enter 键 之前添加 3-4 秒的睡眠时间(在将 url 粘贴到 'File name' 字段之后)。这将为正确按下 Enter 键提供足够的时间,并进行上传,从而关闭窗口。希望它有所帮助.. :)
-
谢谢@subh 这对我有用 非常感谢您的帮助
标签: selenium selenium-webdriver