环境:Firefox 并用 Java 编码(在 Eclipse 中)。框架:Selenium WebDriver
此代码的作用是单击日历按钮为字段 1 选择一个值(日期/时间)。然后使用 (Command-A) 选择字段 1 中的所有内容,并使用 (Command-C) 复制输入。然后它会将值粘贴到字段 2 中。 期望:阅读上文。 实际:将粘贴剪贴板上的最后一个内容,而不是字段 1 中的内容。
注释:我可以通过手动复制字段 1 中的值来操作这些结果,然后当我重新运行测试时,它将粘贴它。所以它基本上会将我手动复制的最后一个内容粘贴到剪贴板中。
driver.findElement(By.xpath(".//*[@id='page-content']/div[1]/ul/li[2]/a")).click();
driver.findElement(By.className("ui-datepicker-trigger")).click();
driver.findElement(By.xpath(".//*[@id='ui-datepicker-div']/div[3]/button[1]")).click();
driver.findElement(By.xpath(".//*[@id='ui-datepicker-div']/div[3]/button[2]")).click();
driver.findElement(By.xpath(".//*[@id='entryTime']")).sendKeys(Keys.LEFT_CONTROL + "a",(Keys.LEFT_CONTROL + "c"));
driver.findElement(By.xpath(".//*[@id='expirationTime']")).clear();
WebElement element2 = driver.findElement(By.xpath(".//*[@id='expirationTime']"));
Actions action= new Actions(driver);
action.contextClick(element2).sendKeys(Keys.ARROW_DOWN).sendKeys(Keys.ARROW_DOWN).sendKeys(Keys.RETURN).build().perform();
最佳答案
您可以按照以下方式复制。
Toolkit toolkit = Toolkit.getDefaultToolkit();
Clipboard clipboard = toolkit.getSystemClipboard();
clipboard.setContents(new StringSelection(driver.findElement(By.xpath(".//*[@id='entryTime']")).getAttribute("value")), null);
关于java - Selenium(Java) 中两个字段之间的复制和粘贴,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29526675/