【问题标题】:WebDriver select and copy text from divWebDriver 从 div 中选择和复制文本
【发布时间】:2014-07-16 22:52:34
【问题描述】:

我需要从一个 DIV 中选择一个特定的文本,这里是 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 执行器来做到这一点,但我对如何使用它有点迷茫,我的想法是只使用 "Host ID: " 文本和另一个只有 RVZA 文本,但后来我意识到我不能只基于该文本创建一个元素,(可以吗?)因为两个元素将是同一个元素

所以如果你们中的任何人能引导我走上正确的道路,我将不胜感激

【问题讨论】:

    标签: java javascript selenium-webdriver


    【解决方案1】:

    这与 Selenium 无关,这纯粹是 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);
    

    【讨论】:

    • 你好SiKing,我知道我可以使用getText方法获取文本,但是测试用例指定必须选择文本然后复制到另一个文本区域
    • 您可以使用sendKeys()。或者您是否对 Ctrl-C Ctrl-V 组合键明确感兴趣?为什么?
    • 我对 Ctrl+C、Ctrl+V 感兴趣,因为我们需要验证文本是否可以从应用程序中复制并粘贴到任何文本编辑器中
    • 您意识到这是操作系统提供的功能,而不是您的应用程序,对吧?
    • 通过操作系统提供的功能,您的意思是复制文本并将其粘贴到任何文本编辑器或执行 ctrl+c/v 的操作?
    【解决方案2】:

    您也可以这样做:

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

    也许这就是你要找的。​​p>

    【讨论】:

      猜你喜欢
      • 2013-10-01
      • 1970-01-01
      • 2014-10-31
      • 2019-01-22
      • 2011-03-11
      • 1970-01-01
      • 1970-01-01
      • 2022-01-14
      • 1970-01-01
      相关资源
      最近更新 更多