如何使用selenium复制和粘贴值?

时间:2016-04-25 12:40:29

标签: java selenium

我目前需要复制订单ID,然后将其粘贴到搜索字段中。

到目前为止,我已经尝试过:

$1

然而,这无法复制任何内容,粘贴时粘贴我之前自己复制的内容。

Click here

2 个答案:

答案 0 :(得分:3)

你好,你为什么要处理一个特定的文本,即你的情况下的订单ID,为什么不使用getText()并在字符串中保留订单ID然后在sendKeys()中传递它将简单易行< / p>

String myOrderText = driver.findElement(By.xpath("ypur xpath to order id")).getText();

以及下面的用法

driver.findElement (By.xpath("/html/body/main/div/div/div[2]/div/div/div[2]/div/table/tbody
/tr[2]/td[2]")).sendKeys(myOrderText ));

此外,如果必须复制和粘贴,请按以下方式执行

使用selenium的actions类复制文本(订单ID)

// or any locator strategy that you find suitable 
        WebElement locOfOrder = driver.findElement(By.id("id of the order id"));
Actions act = new Actions(driver);
act.moveToElement(locOfOrder).doubleClick().build().perform();
// catch here is double click on the text will by default select the text 
// now apply copy command 

driver.findElement(By.id("")).sendKeys(Keys.chord(Keys.CONTROL,"c"));
// now apply the command to paste
driver.findElement (By.xpath("/html/body/main/div/div/div[2]/div/div/div[2]/div/table/tbody/tr[2]/td[2]")).sendKeys(Keys.chord(Keys.CONTROL, "v"));

希望这有助于你

答案 1 :(得分:1)

你不需要复制所有内容。您所要做的就是使用getText()。 请尝试以下代码:

String mytext = driver.findElement(By.xpath("/html/body/main/div/div/div[2]/div/div/div[2]/div/table/tbody/tr[2]/td[2]")).getText();
driver.findElement(By.xpath("your element path")).sendKeys(mytext);

谢谢