МОДУЛЬ «КЛИКЕР» И МОДУЛИ, РАБОТАЮЩИЕ С ЭКРАНОМ

Модуль «Кликер»

Модуль «Кликер» предназначен для записи последовательности действий, выполняемых пользователем, а именно кликов по определенным местам экрана и нажатий кнопок на клавиатуре или мыши. С помощью этого модуля можно производить интеграции между самыми разными программами, так как он точно имитирует действия пользователя, то есть, если Вы сможете это сделать, то это сможет сделать и «Кликер».

Использование роботов-кликеров, которые ищут координаты или изображения, рекомендуется на компьютерах с таким же разрешением, как и тот, на котором был написан данный робот.

Интерфейс модуля

Модуль «Кликер» состоит из нескольких областей – область выбора действия, настройки действия (не видна на данном скриншоте, появляется при выборе действия), и списка команд.

Рис. 1. Интерфейс модуля «Кликер»

Раздел «Действия»

В данном разделе выбирается необходимое действие, заполняется по желанию его описание (комментарий), и устанавливается значение паузы - время, которое должно пройти после выполнения действия.

Действие

Поле «Действие» состоит из перечня доступных действий для записи макроса – нажатие кнопок мыши и клавиатуры, наиболее часто встречающиеся сочетания кнопок (скопировать, вставить). Далее будут приведены все действия, доступные в модуле.

Пауза

Поле «Пауза» предназначено для создания эффекта ожидания после выполняемой команды. Значение указывается в миллисекундах.

Например, после нажатия на иконку браузера роботу следует подождать несколько секунд, пока браузер запустится и будет готов к работе – в данном примере в команде открытия браузера (кликнуть мышкой по его иконке) в поле «Пауза» следует написать некоторое значение, например, 5000, т.е. 5 секунд.

Описание

Поле «Описание» позволяет писать комментарии, чтобы не запутаться в командах.

Кнопка «Начать запись»

Нажатие этой кнопки сворачивает интерфейс Lexema Studio и записывает каждый ваш клик по монитору, создавая на каждый клик действия и добавляя их в «Список команд». Для остановки записи необходимо открыть программу и нажать на ту же кнопку (её название будет изменено на «Остановить запись»). Нужно обратить внимание, что действия открытия студии тоже будут записаны. Скорее всего, их необходимо будет удалить вручную.

Кнопка «Получить координаты»

Данная кнопка позволяет заполнить поля с координатами при выбранном действии. Для этого необходимо выбрать нужное действие, нажать эту кнопку, навестись на необходимое место на экране и нажать кнопку «TAB» на клавиатуре. Программа подставит выбранные значения в нужные поля.

Разделы «Настройка действия» и «Список команд»

В данном разделе настраиваются выбранные ранее действия. Набор полей в данном разделе не всегда одинаков – он меняется в зависимости от выбранного действия. После заполнения действия необходимо нажать кнопку под настройкой – «Добавить», после чего действие будет добавлено в «Список команд».

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

Для удаления команды необходимо нажать на команду в списке команд и затем на кнопку «Удалить»,

Изменение порядка действий

Для изменения порядка действий предусмотрены кнопки «Поднять» и «Опустить». Кнопки расположены справа сверху от списка команд. Изменение порядка действий бывает необходимо, когда требуется добавить действие, которое не предусмотрели сразу и не внесли в список команд. В таком случае вы можете добавить действие стандартным способом, а затем переместить его.

Рис. 2. Изменение порядка действий

Отключение команды

Если вы не хотите удалять команду, так как хотели бы, например, проверить, как работает робот без неё, а затем вернуть её в работу, то можно отключить команду, нажав на соответствующую ей строку правой кнопкой мыши и отключить или, наоборот, включить её.

Рис. 3. Контекстное меню команды

Описание полей для работы с координатами

Переключатели «Изображение», «Координаты» и «Селекторы»

При создании действий, связанных с кликом или наведением мыши, вам предлагается выбрать, куда кликать – по определенным координатам или по изображению. Если программа, с которой вы работаете, статичная и не меняет расположение своих кнопок, то можно воспользоваться кликом по координатам. Для заполнения данных полей необходимо воспользоваться кнопкой «Получить координаты», находящейся в разделе выбора действия.

Если программа может менять расположение её элементов, то можно использовать клик по изображению. Для этого нажмите на переключатель «Изображение».

Рис. 4. Создание команды

При изменении переключателя изменится нижняя часть окна – появятся кнопки «Выбрать изображение», «Выделить изображение» и поле для ввода «Процент совпадения».

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

1) загрузить имеющееся изображение, нажав на кнопку «Выбрать изображение»

2) выбрать фрагмент снимка окна, в котором будет воспроизводиться действие, с помощью кнопки «Выделить изображение». После нажатия на кнопку студия сделает снимок экрана и предложит вам выбрать фрагмент получившегося изображения.

При использовании клика по изображению, обратите внимание на то, что, если на экране таких изображений будет несколько, действие будет применено к первому найденному!

Поле «Процент совпадения» необходимо для случаев, когда искомое изображение может немного отличаться от того, что может быть в реальности (например, наличие выделения вокруг кнопки, если она выбиралась ранее, и отсутствие такого выделения). В подобных случаях уменьшайте процент совпадения до тех пор, пока изображение не будет находиться и в том, и в другом случае. Однако если процент совпадения уменьшить слишком сильно, модуль может найти то, что не планировали искать.

Рис. 5. Пример отличия искомого изображения от действительного

Поля «Количество попыток» и «Пауза между ошибками» предназначены для случаев, когда программа не смогла найти заданное ей изображение. Вы можете указать, сколько раз следует пытаться искать требуемое изображение и сколько секунд ждать между попытками. Например, после запуска браузера нужно нажать на кнопку с иконкой «Плюсик» – создание новой вкладки. Если браузер будет загружаться слишком долго, больше 5-ти секунд (это время указано в паузе команды открытия браузера), тогда программа начнёт искать «плюсик», которого еще нет. Затем программа подождет указанное ей количество секунд между попытками и попробует снова. Как только изображение будет найдено, программа подождет то количество секунд, которое указано в поле «Пауза» данной команды, и перейдет к следующей.

Последний вариант поиска места для наведения мыши – «Селекторы». Этот вариант считается самым надежным, но поддерживается узким кругом программ. Селекторы Windows позволяют находить путь к элементу на экране используя не просто координаты или изображение, а путь относительно родительского компонента экрана с использованием специальной разметки. Они работают с системой компьютера, некоторыми desktop-приложениями. Использование подобно работе с координатами – необходимо нажать «Получить координаты», навестись на искомый элемент и нажать «TAB».

Рис. 6. Создание команды через селекторы Windows

Описание действий, доступных в модуле

Действие «Кликнуть мышкой»

Основное действие модуля – нажатие левой кнопкой мыши по указанным координатам или изображению.

Действие «Кликнуть мышкой дважды»

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

Действие «Кликнуть правой кнопкой мыши»

Клик правой кнопкой мыши, например, по приложению на рабочем столе, чтобы открыть его контекстное меню.

Действие «Кликнуть колесиком мыши»

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

Действие «Прокрутка мыши»

Прокрутка колесом мыши вниз или вверх по странице. Здесь координаты играют роль того, где будет находиться курсор при прокрутке колеса, так как ползунков на экране может быть несколько. При выборе данного действия появляется поле «Прокрутка мыши». В данное поле вводится количество «прокруток колесика», на которое необходимо прокрутить мышь. Для прокрутки экрана вниз в поле «Прокрутка мыши» должно быть введено отрицательное значение (-150), вверх - положительное (150).

Число прокрутки измеряется в количестве прокруток колесом мыши.

ПРИМЕР.

Для прокрутки вниз конкретного ползунка необходимо навести на него курсор, нажать клавишу «TAB» на клавиатуре, выбрать действие «прокрутка мыши» и заполнить поле «Прокрутка мыши», как показано на рисунке 8:

Рис. 7. Пример настройки команды

Действие «Ввести текст»

Данное действие вводит текст, который записан в поле «Текст». Поле, куда вводится текст, должно быть выделено (должен быть фокус, стоять каретка).

В некоторых программах необходим специфичный ввод текста – в конкретной кодировке. В подобных случаях следует выбрать кодировку из предложенных в выпадающем списке «Использовать кодировку», или указать свою. Текст может лежать в переменной и быть скопированным из какой-либо программы, использующей конкретную кодировку. В таком случае, при вставке скопированного текста в другую программу, необходимо сначала считать его в кодировке исходной программы. Кодировка исходной программы вводится или выбирается в поле «Начальная кодировка». Заполнение этих полей необязательно.

Флажок «Использовать WinInput» позволяет включить режим более корректного и быстрого ввода текста, но он может не поддерживаться некоторыми программами. Его использование необязательно.

Пример заполнения действия:

Рис. 8. Пример заполнения

Действие «Нажать кнопку»

Имитирует нажатие клавиши клавиатуры. Необходимую клавишу следует выбрать в выпадающем списке «Кнопка». В списке предложены все возможные клавиши, которые могут присутствовать как на простых, так и на расширенных клавиатурах (изменение громкости звука, запуск/остановка музыки и другие нестандартные кнопки).

Рис. 9. Действие «Нажать кнопку»

Действие «Нажать несколько кнопок»

Имитирует нажатие сочетания клавиш клавиатуры, например CTRL+A – выделение всего текста в поле. Необходимые кнопки выбираются выпадающем списке «Кнопка» и добавляются в табличную часть под ним. Список кнопок тот же, что и в действии «Нажать кнопку».

Рис. 10. Действие «Нажать несколько кнопок»

По кнопке «Добавить» под списком выбранных кнопок действие добавится в общий список действий.

Действие «Скопировать»

Имитирует нажатие сочетания клавиш клавиатуры CTRL+C. Копирует выделенное заранее значение в буфер обмена и записывает его, при необходимости, в переменную, указанную в поле «Записать в». Данное поле не обязательно к заполнению.

Действие «Вставить»

Имитирует нажатие сочетания клавиш клавиатуры CTRL+V. Вставляет в выбранное поле значение из буфера обмена.

Действие «Пока не пропадет изображение»

Ожидает отсутствия заданного изображения на экране в течение времени, дающегося на обнаружение ошибки (значение поля «Кол-во попыток» умноженное на значение поля «Пауза между ошибками»).

Действие «Получить текст из поля»

Получает текст из поля на экране, которое ищется по XPath и записывает в указанную переменную.

Модуль «Поиск изображения»

Модуль «Поиск изображения», в основном, используется в связке с модулем «Кликер». Его задача – определить, существует ли на текущем экране заданное изображение, и если да, то вернуть координаты его центра.

Интерфейс модуля

Окно модуля выглядит следующим образом:

Рис. 10. Окно модуля

Кнопки «Выбрать изображение» и «Выделить изображение» позволяют выбрать изображение для поиска.

Поле «Координата x». В поле вводится переменная (начиная с символов «v.»), в которую будет записана координата x искомого изображения, если оно найдется.

Поле «Координата y». Аналогично полю «Координата x», в данном поле указывается переменная, в которую будет записана координата y.

Поле «Результат». В поле вводится название переменной, в которой будет итоговый результат поиска изображения (после использования всех попыток его найти». Результирующее значение будет представлено в виде строки: «true» - найдено, «false» - не найдено.

Поля «Кол-во попыток», «Пауза» и «Процент совпадения» аналогичны полям модуля «Кликер».

Поле «Кол-во попыток». В поле указывается количество попыток поиска изображения.

Поле «Пауза» предназначено для указания паузы между попытками поиска в миллисекундах.

Поле «Процент совпадения» - насколько сильно совпадает изображение, которое будет искаться, с фрагментом изображения на текущем экране. Вводится число от 0 до 100, чем больше, тем больше должно быть сходства между изображениями.

Модуль «Поиск изображений»

Модуль «Поиск изображений» аналогичен модулю «Поиск изображения» с одним лишь отличием в том, что этот модуль возвращает список всех найденных изображений, а не одного.

Интерфейс модуля

Интерфейс этого модуля очень похож на интерфейс модуля «Поиск изображения», но в нем вместо полей «Координата X», «Координата Y» и «Результат» только одно поле – «Переменная», а также появилось поле «Минимальная дистанция».

Рис. 11. Окно модуля

В поле «Переменная» вводится название переменной с символов «v.», в которую запишется результат поиска.

Поле «Кол-во попыток» заполняется числом, указывающим, сколько раз пробовать искать изображения, если с первого раза ни одного найти не удалось.

Поле «Пауза» предназначено для указания паузы между попытками поиска в миллисекундах.

В поле «Процент совпадения» вводится значение от 0 до 100, указывающее, насколько сильно совпадают изображение, которое будет искаться, с фрагментом изображения на текущем экране. Чем больше число, тем сильнее они должны совпадать.

Поле «Минимальная дистанция» заполняется числом, указывающим, какое минимальное количество пикселей должно быть между двумя одинаковыми изображениями. В некоторых задачах может быть потребоваться отсекать изображения, которые расположены достаточно близко друг к другу и получать только первое из этих изображений (начиная с верхнего левого угла). Обратите внимание, если это расстояние поставить совсем маленьким (не менее 5 пикселей) или равным 0, то одно изображение может быть найдено несколько раз!

Выходные данные

В указанную переменную будет записан список объектов, количество которых будет равно количеству найденных изображений на экране. Каждый объект соответствует найденному изображению. Для обращения к конкретному изображению списка необходимо указывать его номер (нумерация с 0) в квадратных скобках после названия переменной, например v.listImages[0].

Каждый объект содержит три поля: «x», «y» и «similarity». В поле «x» содержится координата x выбранного изображения, в поле «y» - координата y, а в поле «similarity» - процент совпадения найденного изображения с искомым.

ПРИМЕР.

Пусть мы хотим с помощью робота найти количество одинаковых изображений, например, непрочитанных писем с Яндекс-почты, которые выделены небольшим синим кружочком около письма:

Рис. 12. Пример

Для этого создадим действие «Поиск изображений» и выберем в нем в качестве искомого изображения эту синенькую точку:

Рис. 13. Настройка действия

Для нажатия на каждую такую точку и прочтения сообщений, необходимо добавить цикл по количеству изображений, и в каждому шаге цикла нажимать на координаты v.listImages[v.i].x и v.listImages[v.i].y, где v.i – текущий шаг цикла.

Для определения количества элементов массива можно воспользоваться методом языка JavaScript – v.listImages.length.

Модуль «Создать скриншот»

Данный модуль позволяет делать скриншот экрана во время работы робота, что удобно для проведения отладки кликерных роботов (роботов, преимущественно работающих на модуле Кликер).

Окно модуля состоит из двух полей:

Поле «Сохранить в папку» должно содержать путь до папки, в которую будет сохранен скриншот экрана. По кнопке папки в поле вызывается диалог выбора директории;

В поле «Имя файла» должно быть название скриншота. Если расширение не будет указано, то изображение будет сохранено в формате png.

Рис. 14. Окно модуля «Создать скриншот»

Модуль «Получить активное окно»

Данный модуль получает название активного окна и записывает его в переменную. Он помогает определить, какая программа является активной на данной момент, что упрощает работу с модулем «Кликер». Модуль позволяет исключить множество ошибок при работе кликерных роботов.

Модуль состоит из одного настроечного поля – Переменная, в которое необходимо ввести название переменной. В результате работы модуль записывает в указанную переменную название активного окна строчными буквами.

Рис. 15. Пример заполнения модуля «Получить активное окно»

Пример переменной в результате заполнения модулем:

Рис. 16. Результат работы модуля