【问题标题】:How do I test which element has the focus in Selenium RC?如何测试 Selenium RC 中哪个元素具有焦点?
【发布时间】:2020-12-02 19:24:45
【问题描述】:

如何测试 Selenium RC 中哪个元素具有焦点?

【问题讨论】:

    标签: selenium selenium-rc


    【解决方案1】:

    以下定位器应选择文档中的活动元素:

    dom=document.activeElement
    

    如果表单字段或类似元素具有焦点,则它应该是活动元素。 希望这会有所帮助。

    【讨论】:

    • 我使用以下代码,但无法获取值。 String searchValue=selenium.getEval("var test=document.activeElement.id;");
    • 谢谢,这就是诀窍。抱歉,我花了一段时间才找到它——一旦我知道我在寻找 activeElement,其他一切都很容易!
    • 请注意,在 selenium webdriver 中它的 driver.switch_to.active_element
    【解决方案2】:

    正如 AlistairH 所提到的,您可以在大多数当前浏览器上使用 document.activeElement。要在 Selenium 中使用它,您可以存储活动元素并将其与活动元素进行比较。下面是 Selenium IDE 的示例,它也应该为您指明 Selenium RC 的正确方向。

    storeEval | this.browserbot.findElement("name=targetElement").id; | targetElement
    storeEval | this.browserbot.getUserWindow().document.activeElement.id; | activeElement
    verifyEval | '${targetElement}' | ${activeElement}
    

    请注意,以上内容依赖于分配了唯一 id 的元素。

    【讨论】:

      【解决方案3】:

      另一种测试方法(假设您使用的是 JQuery 或 Sizzle)是使用我编写的一个简单库,它允许 Selenium 测试使用 :focus 选择器查询 DOM,例如 .is(':focus') 或 $( ':重点')。

      有关更多信息,请参阅http://blog.mattheworiordan.com/post/9308775285/testing-focus-with-jquery-and-selenium-or,我在其中解释了 Selenium 测试 :focus 无法开箱即用的原因,以及如何解决此问题。

      【讨论】:

        【解决方案4】:

        源代码:

        <div class="box_container">
            <input type="text" value="" name="to_hidden" id="to:12982f12165_hidden" class="left_to_right" autocomplete="off" style="display: none;">
            <textarea id="to:12982f12165" name="to" style="overflow: hidden; height: 18px;" class="left_to_right" autocomplete="OFF">
            
            </textarea>
        </div>
        

        硒代码: 1种方法:

        String searchValue=selenium.getEval("var test=document.activeElement;");
        

        2方法:

        String testvalue=selenium.getText("css=#div textarea[class='left_to_right']:focus");    
        

        【讨论】:

          猜你喜欢
          • 2014-04-04
          • 1970-01-01
          • 2010-11-03
          • 2011-09-29
          • 2011-10-06
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多