如何在Selenium RC中测试哪个元素具有焦点?
答案 0 :(得分:4)
以下定位器应选择文档中的活动元素:
dom=document.activeElement
如果表单字段或类似元素具有焦点,则它应该是活动元素。 希望这会有所帮助。
答案 1 :(得分:3)
正如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
的元素。
答案 2 :(得分:2)
测试的另一种方法(假设您正在使用JQuery或Sizzle)是使用我编写的一个简单库,它允许Selenium测试使用:focus选择器查询DOM,例如.is(':focus')或$( ':焦点')。
有关详细信息,请参阅http://blog.mattheworiordan.com/post/9308775285/testing-focus-with-jquery-and-selenium-or,其中我解释了Selenium测试的原因:焦点不能立即使用,以及如何解决此问题。
答案 3 :(得分:1)
源代码:
硒代码: 1方法: String searchValue = selenium.getEval(“var test = document.activeElement;”);
2方法: String testvalue = selenium.getText(“css =#div textarea [class ='left_to_right']:focus”);