2012-07-31 80 views
1

登录后我有一个文本字段。登录后,光标将自动聚焦在该文本字段上。如何验证该文本字段上是否存在光标/焦点?如何验证文本字段上的光标/焦点

这里是文本字段的HTML代码:

<input type="text" name="field(TITLE)" id="widget_polarisCommunityInput_113_title"> 
+0

您忘记的HTML代码。 – GitaarLAB 2012-07-31 04:18:56

回答

1

你可以检查document.activeElement
这在所有主流浏览器的支持。

有关更多信息,请参阅this on SO。这个问题可能是这个问题的重复。

祝你好运!

+0

我想,JavascriptExecutor代码如下:jse.executeScript(“document.getElementById('widget_polarisCommunityInput_113_title')。activeElement”);我如何确认焦点在该文本字段上? – 2012-07-31 06:21:25

+0

好吧,document.activeElement应该给活动元素..所以你想比较:'if(document.getElementById('widget_polarisCommunityInput_113_tit le')=== document.activeElement){// actions}' – GitaarLAB 2012-08-04 15:30:31

+0

你的答案是有帮助的。谢谢 – 2012-08-06 06:44:36

2

您也可以尝试直接webdriver的方法:

driver.switchTo().activeElement() 

切换到当前具有当前文档中焦点的元素“切换到”,或者,如果这不能被检测体元素。这与Javascript中调用“document.activeElement”的语义相匹配。 返回: 带焦点的WebElement,或者如果没有焦点元素可以检测到body元素。

0

我的详细信息的回答是:

WebElement actual = (WebElement)jse.executeScript("return document.getElementById('widget_polarisCommunityInput_113_title');"); 
WebElement expected = (WebElement)jse.executeScript("return document.activeElement;"); 
assertEquals(actual, expected);