Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  | Правила  

Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » AutoIt » Не срабатывает ControlClick

Ответить
Настройки темы
Не срабатывает ControlClick

Старожил


Сообщения: 255
Благодарности: 26

Профиль | Отправить PM | Цитировать


Добрый день. Есть желание создать скрипт, который будет нажимать кнопки и отмечать галочки при установке некоторой программы. Рабочая его часть выглядит следующим образом:
Скрытый текст

Код: Выделить весь код
#cs ----------------------------------------------------------------------------

 AutoIt Version: 3.2.2.0

 Author:         m3741

 Script Function:

    Installs SpywareBlaster 3.5.1 since the silent installation function was

    removed in this version. Thanks to JavaCool for making this program good

    and free!

#ce ----------------------------------------------------------------------------

AutoItSetOption("MouseCoordMode", 0)

; Start the install

Run("spywareblastersetup55.exe")

WinWaitActive("Setup - SpywareBlaster")

Send("!n")

WinWaitActive("Setup - SpywareBlaster", "License Agreement")

Send("!a")

Send("!n")

WinWaitActive("Setup - SpywareBlaster", "Select Destination Location")

Send("!n")

WinWaitActive("Setup - SpywareBlaster", "Ready to Install")

Send("!i")

WinWaitActive("Setup - SpywareBlaster", "Completing the SpywareBlaster Setup Wizard")

Send("!f")

; Installation is complete. Finish up the install.

WinWaitActive("SpywareBlaster Tutorial")

Sleep(4000) ; Ждём, пока на кнопке Next бежит таймер

ControlCommand("SpywareBlaster Tutorial","Frame1","[CLASS:ThunderRT6UserControlDC; INSTANCE:1]", "Check","")

Send("{ENTER}")

ControlCommand("SpywareBlaster Tutorial","Frame1","[CLASS:ThunderRT6UserControlDC; INSTANCE:7]", "Check","")


Итогом, является появление окна:



Здесь нужно отметить нижний чекбокс. Что я и пытаюсь сделать командой:
Код: Выделить весь код
ControlCommand("SpywareBlaster Tutorial","Frame1","[CLASS:ThunderRT6UserControlDC; INSTANCE:7]", "Check","")
Как видно на картинке, чекбокс становится жёлтеньким, то есть команда, я так понимаю, проходит, но в отличие от предыдущего нажатия на кнопку:
Код: Выделить весь код
ControlCommand("SpywareBlaster Tutorial","Frame1","[CLASS:ThunderRT6UserControlDC; INSTANCE:1]", "Check","")

Send("{ENTER}")
Здесь не ставится галочка ни одной из кнопок, только мышкой. То есть чекбокс оно выделяет, но галочку не ставит. Подскажите пожалуйста, что я делаю не так? Спасибо.

Отправлено: 16:08, 23-05-2016

 

Аватара для Mike909

Новый участник


Сообщения: 38
Благодарности: 14

Профиль | Отправить PM | Цитировать


попробуйте тогда кликнуть на элементе:
Код: Выделить весь код
ControlClick("SpywareBlaster Tutorial","Frame1","[CLASS:ThunderRT6UserControlDC; INSTANCE:7]", "main")

Отправлено: 17:51, 23-05-2016 | #2



Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети.

Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля.


Старожил


Сообщения: 255
Благодарности: 26

Профиль | Отправить PM | Цитировать


Пробовал сначала так, тоже не выходило. В итоге я всё равно отказался от AutoIt с этой программой, т.к. там дурацкая система и поиск надо выполнять по картинке, а как это сделать по простому в AutoIt я не нашёл. Спасибо.

Отправлено: 21:25, 23-05-2016 | #3


Старожил


Сообщения: 255
Благодарности: 26

Профиль | Отправить PM | Цитировать


Что-то не хотят мои скрипты дружить с этой командой, или я не понимаю, как она работает. Вот пример скрипта:
Скрытый текст

Код: Выделить весь код
#cs ----------------------------------------------------------------------------

 AutoIt Version: 3.3.14.2

 Author:         P1zdat1y

 Script Function:

    Автоматический запуск скрытого диска и его расшаривание

#ce ----------------------------------------------------------------------------
; Фокус на Рабочий Стол
WinMinimizeAll()
WinActivate ( 'Program Manager')
ControlClick ( 'Program Manager', '', '',  'main',  1, 1392, 130)
Send ('{ENTER}')


По координатам 1392, 130 находится ярлык. В системе включено, чтобы ярлыки открывались по одинарному клику. Но это не важно, так как я пробовал ставить и 2 клика и 20 и 200. Результат всегда один и тот же — ярлык просто выделяется мышью и далее приходится посылать нажатие клавиши Enter, чтобы его нажать.

Подскажите пожалуйста, что я делаю не так? Спасибо.

Отправлено: 13:27, 25-05-2016 | #4


Старожил


Сообщения: 168
Благодарности: 40

Профиль | Отправить PM | Цитировать


sNc-DAntES
По первому вопросу: не пробовали послать нажатие пробела
Код: Выделить весь код
Send("{SPACE}")
? С клавиатуры пробел тут вроде должен срабатывать.

Вы не пробовали подружиться с функциями Run() и ShellExecute() со строкой запуска из свойств ярлыка? Вторая должна сработать даже так:
Код: Выделить весь код
ShellExecute(@DesktopDir & "\ваш_ярлык.lnk")

-------
ОЗ


Отправлено: 01:50, 27-05-2016 | #5


Старожил


Сообщения: 255
Благодарности: 26

Профиль | Отправить PM | Цитировать


oz84, спасибо. Я только осваиваю этот скриптовый язык. Естественно, туплю. По кнопкам и галочкам нажимается отлично. Не хочет жаться там, где вместо кнопки картинка или другая нестандартная ерунда.

Отправлено: 18:08, 30-05-2016 | #6


Старожил


Сообщения: 168
Благодарности: 40

Профиль | Отправить PM | Цитировать


sNc-DAntES, посмотрите UIAutomate, не подойдёт для таких случаев?

-------
ОЗ


Отправлено: 12:10, 01-07-2016 | #7



Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » AutoIt » Не срабатывает ControlClick

Участник сейчас на форуме Участник сейчас на форуме Участник вне форума Участник вне форума Автор темы Автор темы Шапка темы Сообщение прикреплено

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
ControlClick. Куда кликать? FrankiAm AutoIt 3 28-08-2014 23:49
ControlClick в Flash приложении. FrankiAm AutoIt 0 05-11-2010 22:19
Альтернатива ControlClick-у Freez AutoIt 0 15-12-2009 17:54
ControlClick в меню Cuba AutoIt 8 05-05-2009 01:56
Помогите с ControlClick ancoder Программное обеспечение Windows 2 29-04-2008 12:58




 
Переход