我目前需要複製訂單ID,然後將其粘貼到搜索字段中。如何使用硒複製和粘貼一個值?
到目前爲止,我曾嘗試:
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, "c")); ,
然而,這無法複製任何東西,粘貼時粘貼什麼我剛纔被自己複製。
我目前需要複製訂單ID,然後將其粘貼到搜索字段中。如何使用硒複製和粘貼一個值?
到目前爲止,我曾嘗試:
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, "c")); ,
然而,這無法複製任何東西,粘貼時粘貼什麼我剛纔被自己複製。
嗨爲什麼你應對你的情況,爲什麼不使用gettext(特定的文本即訂單ID),並保持訂單ID字符串中,然後通過它在的SendKeys()這將是簡單易做
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));
此外,如果它是強制性的複製並粘貼然後再去做像下面
使用動作類硒複製的文本(訂單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"));
希望這有助於你
嗨@SeleniumLearner看起來像第一個解決方案似乎工作,將放棄它謝謝 –
PLZ將它標記爲您的答案,因爲這將是我的第一個答案 – 2016-04-25 13:23:41
我將如何獲得段落的文本,而不是一個單一的字?該段被分解成單獨的元素 –
你不需要做副本和所有的。你所要做的就是使用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);
謝謝
你有沒有發送CTRL + C之前選擇的文本? – alecxe
@alecxe我沒有什麼是選擇文本的最佳方式?謝謝 –
@alecxe你好我試過.sendKeys(Keys.chord(Keys.CONTROL,「a」),Keys.chord(Keys.CONTROL,「c」));.然而,這選擇了一切,而不僅僅是我彈出框中需要的文本。問候卡蘭 –