Что нового

Как получить controlID элемента у qt приложения

ssdd

Новичок
Сообщения
11
Репутация
0
Нужно в десктоп приложении Viber кликнуть в поле ввода номера, и ввести номер.
Просто воспользоваться ControlClick нет возможности, из-за того что получить controlID элемента не получается потому что это QT приложение.
(чуть подробнее про такие приложения вот здесь должна была быть ссылка но правила форума мне запретили ее вставить найти статью можно введя в гугле "This post explains how to automate applications developed in Qt"
первый результат.

Как советовали в статье выше, пробовал Ranorex Spy
но он также не смог мне указать ничего кроме как на скрине, или я не понял как этими данными воспользоваться
Телефон нужно ввести там где стоит перекрестие, и цифры 917...

WqHUf8k.png



Пробовал кликом мыши по координатам, - кликается норм, но через долю секунды курсор возвращается в другой активный элемент, где нужно вводить само сообщение, но это нужно чуть позже. Сейчас нужно для начала ввести номер.

Подскажите как можно решить такую проблему ?

UPD
Попробовал ввести номер через программу Ranorex
В итоге там получилось ввести номер и увидеть вот такие данные, только как их можно применить в Autoit
Код:
element[@name='centralWidget']//container[@name='pageStack']/container[@name='DialerPage']//container[@name='inputFrame']/text[@name='phoneNumberLineEdit']
 
Автор
S

ssdd

Новичок
Сообщения
11
Репутация
0
спасибо! помогло!
теперь все нажимается и фокусируется, но проблема возникла что есть элементы которые отличаются собой только ControlType
Как можно отловить несколько таких элементов ?
5Vg19zh.png
 

InnI

AutoIT Гуру
Сообщения
4,912
Репутация
1,429
ssdd
есть элементы которые отличаются собой только ControlType
Не уловил смысла фразы.
Если нужно найти все кнопки (UIA_ButtonControlTypeId), то можно так
Код:
_UIA_FindAllElements($oParent, "ControlType", $UIA_ButtonControlTypeId)
 
Верх