Войти

Показать полную графическую версию : [решено] PopUp Menu


axlwor
25-03-2009, 15:12
Есть открытый IE (впрочем не важно)
Нужно в конкретной точке открыть PopUp Menu и выбрать какой нибудь пункт.
Это впринципе возможно или я зря ищу?

proxy
25-03-2009, 15:37
PopUp Menu
имеете в виду: выпадающий список?
или ссылки при нажатии на которую появляется меню?

если это HTML элемент, то ему можно присвоить нужные свойства
выбранности и далее присвоить hidden.
если меню стоиться с помощью javaScript(AJAX), то клик придется
обрабатывать с помощью Sleep.

Приведите пример HTML кода элемента страницы по каторому нужно кликнуть.

axlwor
25-03-2009, 15:43
Открываем для примера wordpad.
На пустом документе делаем right click.
Выпадает меню

Вырезать
Копировать
Вставить

Шрифт
Маркер....


и так далее.
Как с помощью AutoIt визуально кликнуть на Вставить?

т.е. ControlSend сделать не возможно, тк нет ID? и придется делать rightclick, и посылать {UP} несколько раз?

proxy
25-03-2009, 17:01
можно так, если точка клика точно известна:
#region: - Option
Opt('MustDeclareVars', 1)
Opt('TrayIconHide', 0)
Opt('TrayIconDebug', 1)
#endregion

#region: - Include
#include <IE.au3>
#endregion

#region: - Global
Global $aMouseStartPos
Global $oIe, $aIePos
#endregion

$oIe = _IECreate('www.google.ru')
_IELoadWait ($oIe)

$aMouseStartPos = MouseGetPos()
$aIePos = WinGetPos('[CLASS:IEFrame]', 'http://www.google.ru/')
MouseClick('right', $aIePos[0]+389, $aIePos[1]+419, 1, 0)
Sleep(10)
MouseClick('left', $aIePos[0]+389+10, $aIePos[1]+419+30, 1, 0)
MouseMove($aMouseStartPos[0], $aMouseStartPos[1])

axlwor
25-03-2009, 19:23
proxy, спасибо.
Проблема решена




© OSzone.net 2001-2012