Предпредисловие:
Начал интересоваться AutoIT`шничеством около недели назад, для теста выбрал пару стандартных программ, которые мы устанавливаем на работе. Одна из них - CCleaner v.4.03.
Почитав слегка мануалы, пришёл к выводу, что стоит начать с Send, чтобы по крайней мере получить некое представление о данной среде.
Ну и оператор Sleep("100"), так как меня просто радует анимация того, как программа устанавливается сама :D
Но вот с CCleaner началась проблема. Скачать можно здесь: http://www.piriform.com/ccleaner/download/standard
В какой-то момент в установке он предлагает установить Chrome и Toolbar. И там команда Send('[Tab}') не работает. Мечется между "Назад" и "Установить"
Тут я понял, что галочки надо снимать с помощью команды ControlClick по координатам.
ControlClick ( "title", "text", controlID [, button [, clicks [, x [, y]]]] )
AutoIT Info показал вот это:
[info]
>>>> Window <<<<
Title: Установка CCleaner v4.03
Class: #32770
Position: 358, 210
Size: 503, 389
Style: 0x94CA084C
ExStyle: 0x00010100
Handle: 0x000A0268
>>>> Control <<<<
Class: Internet Explorer_Server
Instance: 1
ClassnameNN: Internet Explorer_Server1
Name:
Advanced (Class): [CLASS:Internet Explorer_Server; INSTANCE:1]
ID:
Text:
Position: 23, 73
Size: 450, 228
ControlClick Coords: 30, 165
Style: 0x56000000
ExStyle: 0x00000000
Handle: 0x000602A2
>>>> Mouse <<<<
Position: 414, 473
Cursor ID: 0
Color: 0xFFFFFF
>>>> StatusBar <<<<
>>>> ToolsBar <<<<
>>>> Visible Text <<<<
< &Назад
&Установить
www.piriform.com
www.piriform.com
Дополнительные параметры
>>>> Hidden Text <<<<
Отмена
Параметры установки
Дополнительно
[/info]
Ввиду того, что AutoIT Info распознаёт данный элемент как единый, не отличая чекбоксов, button прописать не смог. А ControlID просто не нашёл в Info. В итоге получился вот такой "урезок"
При запуске скрипта установка доходит до момента, когда нужно убрать чекбоксы Google курсор устанавливает в центр окна и через несколько секунд выдаётся ошибка:
Вот полный код:
Как видно, в 44 строке ничего особенного нет.
Был бы признателен за любую помощь :IL_AutoIt_1:
Начал интересоваться AutoIT`шничеством около недели назад, для теста выбрал пару стандартных программ, которые мы устанавливаем на работе. Одна из них - CCleaner v.4.03.
Почитав слегка мануалы, пришёл к выводу, что стоит начать с Send, чтобы по крайней мере получить некое представление о данной среде.
Ну и оператор Sleep("100"), так как меня просто радует анимация того, как программа устанавливается сама :D
Но вот с CCleaner началась проблема. Скачать можно здесь: http://www.piriform.com/ccleaner/download/standard
В какой-то момент в установке он предлагает установить Chrome и Toolbar. И там команда Send('[Tab}') не работает. Мечется между "Назад" и "Установить"
Тут я понял, что галочки надо снимать с помощью команды ControlClick по координатам.
ControlClick ( "title", "text", controlID [, button [, clicks [, x [, y]]]] )
AutoIT Info показал вот это:
[info]
>>>> Window <<<<
Title: Установка CCleaner v4.03
Class: #32770
Position: 358, 210
Size: 503, 389
Style: 0x94CA084C
ExStyle: 0x00010100
Handle: 0x000A0268
>>>> Control <<<<
Class: Internet Explorer_Server
Instance: 1
ClassnameNN: Internet Explorer_Server1
Name:
Advanced (Class): [CLASS:Internet Explorer_Server; INSTANCE:1]
ID:
Text:
Position: 23, 73
Size: 450, 228
ControlClick Coords: 30, 165
Style: 0x56000000
ExStyle: 0x00000000
Handle: 0x000602A2
>>>> Mouse <<<<
Position: 414, 473
Cursor ID: 0
Color: 0xFFFFFF
>>>> StatusBar <<<<
>>>> ToolsBar <<<<
>>>> Visible Text <<<<
< &Назад
&Установить
www.piriform.com
www.piriform.com
Дополнительные параметры
>>>> Hidden Text <<<<
Отмена
Параметры установки
Дополнительно
[/info]
Ввиду того, что AutoIT Info распознаёт данный элемент как единый, не отличая чекбоксов, button прописать не смог. А ControlID просто не нашёл в Info. В итоге получился вот такой "урезок"
Код:
ControlClick('Уcтановка CCleaner v4.03' [, clicks [, 30 [, 165]]])
При запуске скрипта установка доходит до момента, когда нужно убрать чекбоксы Google курсор устанавливает в центр окна и через несколько секунд выдаётся ошибка:
Line 44 (File "c:\Users\AutoIT\Desktop\AutoIT\CCleaner.exe"):
Error: Error parsing function call.
Вот полный код:
Код:
;Установка CCleaner v4.03 средствами AutoIT
Run('C:\Users\AutoIT\Downloads\ccsetup403.exe')
WinWaitActive ('CCleaner v4.03 Setup', "Welcome to the CCleaner v4.03 Setup")
Sleep('3000')
Send("{Tab}")
Sleep("100")
Send("{Tab}")
Sleep("100")
Send("{Tab}")
Sleep("100")
Send("{Р}")
Sleep("500")
Send("{Enter}")
WinWaitActive ('Установка CCleaner v4.03', "Вас приветствует мастер установки CCleaner v4.03")
Sleep("100")
Send('{Enter}')
WinWaitActive("Установка CCleaner v4.03", "Параметры установки")
Sleep("1000")
Send("{Tab}")
Sleep("100")
Send("{Tab}")
Sleep("100")
Send("{Space}")
Sleep("100")
Send("{Down}")
Sleep("100")
Send("{Down}")
Sleep("100")
Send("{Space}")
Sleep("100")
Send("{Down}")
Sleep("100")
Send("{Space}")
Sleep("100")
Send("{Down}")
Sleep("100")
Send("{Space}")
Sleep("100")
Send("{Tab}")
Sleep("100")
Send("{Tab}")
Sleep("1000")
Send("{Enter}")
Sleep("3000")
ControlClick('Уcтановка CCleaner v4.03' [, clicks [, 131 [, 167]]])
Exit
Как видно, в 44 строке ничего особенного нет.
Был бы признателен за любую помощь :IL_AutoIt_1: