Что нового

Как получить ID или INSTANCE элемента

alexf3791

Новичок
Сообщения
5
Репутация
0
У меня есть задача выбирать элемент по определенному событию. Задача скрипта срабатывать на появление какого-то сообщения в TGroupBox, нажать на элемент и ожидать удаление сообщения. И так по циклу.
Проблема в том, что название класса одинаково для нескольких элемантов, а ID и INSTANCE регулярно меняются.
Пробовал делать ControlClick по тексту на элементе или координатам элемента, но команда не срабатывает.
Можно ли как-то получить данные элемента по его координатам? Или есть еще какой способ?

Код:
While 1
   Do
      $text = ControlGetText("Kassa ipkassa", "", "[CLASS:TGroupBox; INSTANCE:3]")
      If $text = "Asiakas" Then
         Sleep(1000)
      EndIf
   Until $text <> "Asiakas"
      ControlClick("Kassa ipkassa", "", "[CLASS:TBitBtnWithColor; INSTANCE:8]") ;Так срабатывет правильно, но когда меняется instance, скрипт перестает работать
   Do
      $text = ControlGetText("Kassa ipkassa", "", "[CLASS:TGroupBox; INSTANCE:3]")
      If $text <> "Asiakas" Then
         Sleep(1000)
      EndIf
   Until $text = "Asiakas"
WEnd
 

InnI

AutoIT Гуру
Сообщения
4,922
Репутация
1,432
В качестве идентификатора контрола (controlID) можно использовать текст контрола, если этот текст определяется функцией ControlGetText.
Сообщение автоматически объединено:

данные элемента по его координатам
Код:
_WinAPI_WindowFromPoint()
 
Последнее редактирование:
Верх