Не удается получить свойство screenx для DIV в AutoIT
Я пытаюсь получить экранные координаты для DIV с id=1862, чтобы щелкнуть по нему в 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 ответ
Решение
Я не уверен, почему, но эта функция работала ---
Функция для получения координат:
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