Невозможно контролировать нажатие кнопки в сценариях Autoit
Я пытался автоматизировать нажатие кнопки, используя автоматический IT-скрипт в приложении.
Заголовок окна приложения - EDI867 Tracer, а кнопка, которую я пытаюсь нажать, - " Обзор".
Информация о контроле, которую я получил от Autoit Window Info, как показано ниже
>>>> Window <<<<
Title: EDI867 TRACER
Class: WindowsForms10.Window.8.app.0.378734a
Position: 0, 0
Size: 1366, 728
Style: 0x16010000
ExStyle: 0x00050000
Handle: 0x00E606C6
>>>> Control <<<<
Class: WindowsForms10.Window.8.app.0.378734a
Instance: 5
ClassnameNN: WindowsForms10.Window.8.app.0.378734a5
Name: btnBrowse
Advanced (Class): [NAME:btnBrowse]
ID: 7998122
Text:
Position: 1236, 70
Size: 93, 24
ControlClick Coords: 25, 11
Style: 0x56010000
ExStyle: 0x00000000
Handle: 0x007A0AAA
>>>> Mouse <<<<
Position: 1261, 81
Cursor ID: 0
Color: 0xE5FFF2
>>>> StatusBar <<<<
>>>> ToolsBar <<<<
>>>> Visible Text <<<<
EDI867
Comparison
File
Customer :
CalComp :
Status :
EDI TRACER
>>>> Hidden Text <<<<
EDI861
File
Я пытаюсь контролировать, нажмите эту кнопку. Я перепробовал все возможное controlclick
синтаксис, который я знаю, используя вышеупомянутую информацию окна, но ничто, кажется, не автоматизирует щелчок кнопки.
Я открыт для предложений, чтобы найти решение.
1 ответ
Попробуйте получить действительный дескриптор окна, используя атрибуты.
Также получите дескриптор элемента управления, используя информацию окна AutoIT. Класс кнопки должен быть что-то вроде CLASS:WindowsForms10.BUTTON.app.0.378734a
и его экземпляр должен быть также дан (скажем, 5). Тогда скрипт выглядит так:
Local $hSecWnd=WinGetHandle("[CLASS:WindowsForms10.Window.8.app.0.378734a; W:1366; H:728]")
ControlClick($hSecWnd,"","[CLASS:WindowsForms10.BUTTON.app.0.378734a; INSTANCE:5]")