Привет всем !
Задача : автоматизировать процесс принятия заказов в удаленной работе, которые ведутся в клиенте программы (не браузер) :-[
Это моя первая программка. Критика и поправки приветствуются !
Вот что получилось :
*. Примечания :
- Кнопка Submit находится где-то в центре страницы. У клиента скролбара и прочих кнопок прокручивания нет. Я прокручиваю только при помощи колесика мышки. Видимо, рекордеры (все пробовал) не фиксируют этот момент.
- Предполагается использовать также и с модемом 56К, отсюда такие длительные ожидания.
Сопутствующие вопросы :
- Как скролить с помощью скрипта ?
- Autoit может работать с названиями (name, id, value, class и т.п.) кнопок в браузере ? Если да, то есть ли ограничения на браузеры ? Где можно посмотреть по этому поводу литературу ? Я чет не нащел :( Имеется ввиду, чтобы делать те или иные действия не по пикселям позиционировая курсора, а непосредственно по нужным мне объектам на странице.
- Как можно организовать простой рандомайзер ? К примеру, меняется параметр в sleep () в случайном порядке в заданном интервале в пределах одного цикла. На PHP я это ясно представляю, тут еще не очень
Спасибо за ответы :IL_AutoIt_1:
Задача : автоматизировать процесс принятия заказов в удаленной работе, которые ведутся в клиенте программы (не браузер) :-[
Это моя первая программка. Критика и поправки приветствуются !
1. Открыть приложение по ярлыку на рабочем столе
2. Дождаться коннекта к серверу и появления окна клиента
3. Дождаться прогрузки данных в клиенте
4. Развернуть клиент на полное окно
5. Нажать на последний заказ
6. Дождаться прогрузки данных в клиенте
7. Нажать на Submit *
8. Дождаться прогрузки данных в клиенте
9. Уменьшить (восстановить) окно клиента
10. Закрыть приложение
11. Зациклить все вышеприведенные пункты
Вот что получилось :
Код:
$i=1
For $i=1 to 9999
Opt("WinWaitDelay",100)
Opt("WinTitleMatchMode",4)
Opt("WinDetectHiddenText",1)
Opt("MouseCoordMode",0)
WinWait("Program Manager","FolderView")
If Not WinActive("Program Manager","FolderView") Then WinActivate("Program Manager","FolderView")
WinWaitActive("Program Manager","FolderView")
#comments-start
Тут двойной клик по ярлыку на рабочем столе. Приложение подключается к базе данных и открывается в виде нового уменьшенного окна.
Таким образом у меня 2 окна - одно полное (коннект) и второе - непосредственно для работы.
#comments-end
MouseClick("left",1181,665,2)
WinWait("Shop Control Panel","")
If Not WinActive("Shop Control Panel","") Then WinActivate("Shop Control Panel","")
WinWaitActive("Shop Control Panel","")
#comments-start
Ожидаем открытия окна клиента, которое открывается на сразу, а после коннекта к базе данных (1-2 минуты)
#comments-end
Sleep(120000)
#comments-start
Тут клик, чтобы развернуть окно клиента на весь экран
#comments-end
MouseMove(952,7)
MouseDown("left")
MouseUp("left")
#comments-start
Ожидаем прогрузки всего содержимого страницы (1-3 минуты)
#comments-end
Sleep(130000)
#comments-start
Тут клик по свежему заказу (всегда в одном и том же месте)
#comments-end
MouseMove(872,899)
MouseDown("left")
MouseUp("left")
WinWait("Последний Заказ - Shop Control Panel","")
If Not WinActive("Последний Заказ - Shop Control Panel","") Then WinActivate("Последний Заказ - Shop Control Panel","")
WinWaitActive("Последний Заказ - Shop Control Panel","")
#comments-start
Ожидаем прогрузки всего содержимого страницы (1-2 минуты)
#comments-end
Sleep(100000)
#comments-start
Тут клик по кнопке Обработать и переход на страницу, что заказ принят. * см. примечания
#comments-end
MouseMove(628,683)
MouseDown("left")
MouseUp("left")
WinWait("Заказ Принят - Shop Control Panel","")
If Not WinActive("Заказ Принят - Shop Control Panel","") Then WinActivate("Заказ Принят - Shop Control Panel","")
WinWaitActive("Заказ Принят - Shop Control Panel","")
#comments-start
Ожидаем прогрузки отправки данных на сервер (1-2 минуты)
#comments-end
Sleep(120000)
#comments-start
Тут клик по кнопке Восстановить (чтобы уменьшить окно клиента до первоначального и нажать на Закрыть на фоновом окне.
#comments-end
MouseMove(1862,11)
MouseDown("left")
MouseUp("left")
WinWait("Connect Shop Control Panel","")
If Not WinActive("Connect Shop Control Panel","") Then WinActivate("Connect Shop Control Panel","")
WinWaitActive("Connect Shop Control Panel","")
#comments-start
Тут клик по кнопке Закрыть Приложение
#comments-end
MouseMove(1316,547)
MouseDown("left")
MouseUp("left")
#comments-start
Ожидаем поступления следующего заказа (от 3 инут)
#comments-end
Sleep(180000)
Next
#comments-start
И так цикл будет повторяться 9998 раз.
#comments-end
*. Примечания :
- Кнопка Submit находится где-то в центре страницы. У клиента скролбара и прочих кнопок прокручивания нет. Я прокручиваю только при помощи колесика мышки. Видимо, рекордеры (все пробовал) не фиксируют этот момент.
- Предполагается использовать также и с модемом 56К, отсюда такие длительные ожидания.
Сопутствующие вопросы :
- Как скролить с помощью скрипта ?
- Autoit может работать с названиями (name, id, value, class и т.п.) кнопок в браузере ? Если да, то есть ли ограничения на браузеры ? Где можно посмотреть по этому поводу литературу ? Я чет не нащел :( Имеется ввиду, чтобы делать те или иные действия не по пикселям позиционировая курсора, а непосредственно по нужным мне объектам на странице.
- Как можно организовать простой рандомайзер ? К примеру, меняется параметр в sleep () в случайном порядке в заданном интервале в пределах одного цикла. На PHP я это ясно представляю, тут еще не очень
Спасибо за ответы :IL_AutoIt_1: