自动FF.au3无法检查元素是否已聚焦

时间:2017-07-17 16:47:45

标签: javascript firefox xpath autoit mozrepl

如何检查元素是否聚焦?

这是我的尝试:

我准备了一个检查对象是否聚焦的函数:

_FFCmd('FFau3.isfocused=function isfocused(a){try{return (a === document.activeElement)}catch(e){return}}')

$oElm = _FFXPath("//*[@id='someId']")
_FFIsFocused($oElm)

Func _FFIsFocused($sElement = "")
    Local $isFoc = _FFCmd("FFau3.isfocused(" & $sElement & ")")
    Return $isFoc
EndFunc   ;==>_FFIsFocused

它永远不会真实。 好像我发送的对象是类型XUL对象。

1 个答案:

答案 0 :(得分:0)

从用户Danp2获得Autoit论坛的帮助!

最终代码是:

_FFCmd('FFau3.isfocused=function isfocused(a){try{return (a === FFau3.WCD.activeElement)}catch(e){return}}')

$oElm = _FFXPath("//*[@id='someId']")
ConsoleWrite(_FFIsFocused($oElm))

Func _FFIsFocused($sElement = "")
    Local $isFoc = _FFCmd("FFau3.isfocused(" & $sElement & ")")
    Return $isFoc
EndFunc   ;==>_FFIsFocused

问题在于document.activeElement我们无法访问,因为我们是从mozrepl内部进行的。 而是使用FFau3.WCD.activeElement