java - Selenium(Java) 中两个字段之间的复制和粘贴

标签 java selenium copy-paste

环境: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/

相关文章:

java - 简单的日期格式年份格式问题

python - Selenium - onclick 按钮后切换到动态 iframe

excel - 如何将一行复制到多行?

python - 如何通过 Robot Framework 或 python 脚本将 csv(逗号分隔)或 xlsx(excel)文件转换为 psv(管道分隔)文件

Android:如何完全禁用 Edittext 中的复制和粘贴功能

copy-paste - 如何在终端模式下粘贴 NeoVim 寄存器?

java - 使用正则表达式从字符串中提取数据

java - 为什么 Java 8 CompletableFuture thenCompose 根据完成顺序生成不同的异常?

java - Spring Boot 集成测试在一个接一个运行时失败

c# - Selenium IE 自动化