无法在AutoIT中获取DIV的screenx属性

时间:2017-05-27 23:07:14

标签: html internet-explorer click autoit

我正在尝试获取id = 1862的DIV的屏幕坐标,以便在AutoIT中单击它。以下是我能够在DIV中查看文本的方式,以便我知道它可以检测到它:

local $element=_IEGetObjById($oIE, "ember1862")
_IEFormElementSetValue($element, "Eric")

它成功地重置了搜索框中的值。

但是当我尝试点击它时:

_IEAction($element, "click")

$element.click

它什么都不做。

当我试图获得坐标时,它总是告诉我它们都是0,我知道这不是真的(它坐在页面的中间):

local $search = _IEGetObjById($oIE, "ember1862")
MsgBox(0,"",_IEPropertyGet($search,"screenx"))

任何提示?

1 个答案:

答案 0 :(得分:0)

我不知道为什么但是这个功能起作用了---

获取坐标的函数:

func _IEfindPosX($o_object)
    local $curleft = 0
    local $parent = $o_object
    if IsObj($parent) then
        while IsObj($parent)
            $curleft += $Parent.offsetLeft
            $parent = $Parent.offsetParent
        wend
    else
        local $objx = $o_object.x
        if IsObj($objx) then $curleft += $objx
    EndIf
    return $curleft
EndFunc

循环遍历所有html输入以获取x坐标:

$oInputs = _IETagNameGetCollection ($oIE, "input")
For $oInput In $oInputs
    MsgBox(0,"",$oInput.id)
    MsgBox(0,"",_IEfindPosX($oInput))
Next