2014-07-16 37 views
0

我需要从一个DIV特定的文本复制文本,这里是DIV来源:webdriver的选择和DIV

<html> 
<div class="roamingHostIdContainer ng-binding"> 
             Host ID: 3K9X-Q8LD-6AX6-3UGP-UL5B-YE3Z-UWCD-DGDU-AB8Y-FJD2-7W97-A63J-RVZA 
            </div> 
</html> 

,你可以看到,在div有一点太多的空间,回点,事情是我需要选择ID值并复制它。

我的出发点是这样一个问题:How to manipulate user selected text using webdriver?然后我搬到这个:How to move cursor in Selenium Webdriver

我相信我可以用JavaScript的执行做到这一点,但我对如何使用它有点失落,我的想法是创建一个元素恰与“主机ID:”文本,另一个刚刚与RVZA文字,但后来我意识到,我不能只建立在基于文本的元素,(?可我),因为这两个元素将相同的元素

所以如果你们可以指导我在正确的道路上,我会感激

回答

0

这有什么好做硒,这纯粹是Java String操纵问题。

String myText = driver.findElement(By.className("roamingHostIdContainer")).getText(); 
String myIdx = myText.indexOf("ID:"); 
String myId = myText.substring(myIdx + 4).trim(); 

driver.findElement(some-other-area).sednKeys(myId); 
+0

Hi SiKing,我知道我可以通过使用getText方法获取文本,但测试用例指定必须选择文本然后复制到另一个textarea –

+0

您可以使用'sendKeys()'。或者你是否对Ctrl-C Ctrl-V组合键感兴趣?为什么? – SiKing

+0

我感兴趣的是按Ctrl + C,Ctrl + V键,因为我们需要验证文本可以从应用程序复制并粘贴到任何文本编辑器 –

0

您还可以通过这样做:

element.sendKeys(Keys.chord(Keys.CONTROL, "a")); 
element.sendKeys(Keys.chord(Keys.CONTROL, "c")); 
element2.sendKeys(Keys.chord(Keys.CONTROL, "v")); 

也许这是你在找什么。