Как написать макрос для браузера

Обновлено: 06.07.2024

iMacros для Firefox

Сейчас для браузера Mozilla Firefox существует огромное количество полезных расширений, добавляющих опции, которые изначально отсутствуют в веб-обозревателе. К числу подобных относится и iMacros. Этот инструмент позволит юзеру самостоятельно записать различные макросы или уже использовать готовые для молниеносного выполнения сложных действий. О работе с этим дополнением мы и хотим поговорить далее.

Используем расширение iMacros в Mozilla Firefox

Мы решили разделить содержимое этой статьи на шаги, чтобы более детально разобраться в каждом аспекте взаимодействия с расширением. Это поможет пользователю быстрее освоить принципы управления и понять, стоит ли вообще устанавливать iMacros в свой веб-обозреватель.

Шаг 1: Установка iMacros

Начнем с первого этапа, с которым столкнется каждый пользователь, желающий начать работу с iMacros. Установка практически ничем не отличается от других дополнений, но мы все же уделим этому процессу немного времени, чтобы самые начинающие разобрались с его выполнением.

Переход в раздел с дополнениями для установки расширения iMacros в Mozilla Firefox

Поиск расширения iMacros в Mozilla Firefox для установки через магазин

Переход на страницу установки расширения iMacros в Mozilla Firefox

Нажатие на кнопку для установки расширения iMacros в Mozilla Firefox

Подтверждение установки расширения iMacros в Mozilla Firefox через магазин

Уведомление об успешной установке расширения iMacros в Mozilla Firefox

Теперь дополнение автоматически будет активировано, а вам останется лишь перейти к его использованию. Браузер перезагружать при этом не нужно, поскольку все изменения вступают в силу сразу же.

Шаг 2: Основные настройки

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

Переход в раздел с дополнительными параметрами расширения iMacros в Mozilla Firefox

Переход к глобальным настройкам расширения iMacros в Mozilla Firefox после его установки

Глобальные настройки расширения iMacros в Mozilla Firefox после его установки

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

Шаг 3: Использование и редактирование шаблонных макросов

Сегодня мы разбираем бесплатную версию iMacros. В нее разработчики включили директорию, где присутствует множество демонстрационных скриптов с описанием их работы в виде комментариев. Это поможет начинающим освоить азы взаимодействия с приложением и даст возможность быстро корректировать какой-то макрос под себя.

Открытие папки с шаблонами скриптов в расширении iMacros в Mozilla Firefox

Выбор шаблонного скрипта для запуска в расширении iMacros в Mozilla Firefox

Действие выполняемого шаблонного скрипта расширения iMacros в Mozilla Firefox

Переход к редактированию шаблонного скрипта в расширении iMacros в Mozilla Firefox

Открытие редактора редактирования шаблонного скрипта iMacros в Mozilla Firefox

Удаление или изменение строк в редакторе макроса расширения iMacros в Mozilla Firefox

Сохранение или переименование скрипта через редактор в расширении iMacros в Mozilla Firefox

Шаблонные макросы созданы не только для того, чтобы ознакомить пользователя с возможностями расширения, они помогают быстрее изучить принцип создания собственного кода, взяв за основу как раз эти заготовки. Специально для этого разработчиками были созданы описания в формате комментариев в редакторе, поэтому не стоит пренебрегать ими при редактировании.

Шаг 4: Создание собственных макросов

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

Запуск записи нового скрипта в режиме реального времени iMacros в Mozilla Firefox

Выполнение действий и завершение записи скрипта iMacros в Mozilla Firefox

Проверка текста скрипта после его записи в реальном времени iMacros в Mozilla Firefox

Сохранение нового скрипта в стандартную папку расширения iMacros в Mozilla Firefox

Запуск созданного скрипта для проверки в iMacros в Mozilla Firefox

Что касается собственноручного создания скриптов через редактор, то для этого потребуется выучить синтаксис или одну из документаций поддерживаемых языков программирования. Более детальные инструкции и описания по этому поводу вы найдете на официальном сайте разработчиков iMacros. Рекомендуем ознакомиться с этой информацией тем юзерам, кто хочет на постоянной основе работать с рассмотренным расширением.

Сегодня вы узнали все об использовании iMacros в браузере Mozilla Firefox. Как видите, этот инструмент будет полезен многим юзерам, а также поможет значительно упростить выполнение ежедневных действий.

Закрыть

Мы рады, что смогли помочь Вам в решении проблемы.

Отблагодарите автора, поделитесь статьей в социальных сетях.

Закрыть

Опишите, что у вас не получилось. Наши специалисты постараются ответить максимально быстро.

Программы для макросов клавиатуры

Hotkeycontrol

Использование программы Hotkeycontrol для создания макросов

Key Manager

Следующее решение Key Manager было создано отечественными разработчиками, поэтому интерфейс полностью на русском языке. Это поможет начинающим юзерам разобраться с принципом управления программным обеспечением и понять, какие пункты и виртуальные кнопки отвечают за определенные опции. Создание макросов, настройка комбинаций и переназначение клавиш в Key Manager производится в специально созданных профилях, например, можно установить изменения только для одной программы, а в другой эта же комбинация или последовательность будет отвечать за иное действие. Такая реализация является крайне удобной, поскольку позволяет полностью оптимизировать управление компьютеров в соответствии со сложившейся ситуацией и личными предпочтениями.

Использование программы Key Manager для создания макросов

BotMek

Многие пользователи желают настроить макросы для определенных игр, чтобы, например, упростить там перемещение или смену оружия. В таких случаях мы советуем обратить внимание на программу под названием BotMek, которая и нацелена конкретно на игры. Здесь вы присваиваете макросы на отдельные кнопки или задаете комбинации, указав последовательность действий. BotMek поддерживает мыши от компании A4Tech, в программном обеспечении которых также настраиваются различные игровые макросы. Если вы умеете писать скрипты, функциональность программы значительно расширится, ведь в ней имеется встроенный редактор с подсветкой синтаксиса.

Использование программы BotMek для создания макросов

Сами макросы тоже настраиваются в отдельном редакторе, который выполнен в максимально удобном и понятом виде. Для начала вы создаете сам параметр, задав ему название просто для понимания. Затем указываются нажатия на клавиши или кнопки мыши и задержки выполнения. Все это может производиться циклически, если задать соответствующий параметр в редакторе. В BotMek встроена огромная база заготовленных макросов для самых популярных игр. Это позволит начинающим пользователям не создавать настройки самостоятельно, а уже использовать готовые, просто сохранив их или немного изменив. Среди опций, не связанных с макросами, в BotMek есть встроенный чат, где юзеры обсуждают игры и отдельные настройки.

AutoHotkey

Следующее решение под названием AutoHotkey подойдет только опытным пользователям или тем, кто готов самостоятельно разбираться с составлением скриптов, изучая обучающие уроки от разработчиков. Связано это с тем, что макросы в данном программном обеспечении создаются именно во встроенном редакторе путем вписывания строчек кода. Конечно, данная настройка является сложной, однако подобная реализация позволяет юзеру создать макросы самых разных направлений и сложностей. Однако разработчики позаботились и о начинающих обладателях компьютеров, добавив несколько встроенных команд, с которыми тоже предстоит разобраться, однако сделать это будет довольно просто из-за разъяснительных сносок.

Использование программы AutoHotkey для создания макросов

Как известно, подобные скрипты дают возможность не только задать простые действия, но и запускать последовательно программы, перемещать окна, эмулировать нажатия, привязывать несколько меню или даже изменять файлы. AutoHotkey имеет открытый исходный код, а это значит, что любой желающий, обладающий соответствующими навыками, способен поменять этот софт для себя или даже предложить варианты разных плагинов для внедрения разработчикам. А еще открытость делает данное ПО бесплатным. Перейдите по указанной ниже ссылке, чтобы детально ознакомиться со всеми его особенностями и загрузить на свой компьютер.

Hot Keyboard

Использование программы Hot Keyboard для создания макросов

Есть в этом программном обеспечении и отдельный редактор, позволяющий записывать различные действия в виде скриптов. Если вы заинтересованы в выполнении простых операций, скорее всего, вам даже не придется обращаться к этому редактору, поскольку все основные параметры доступны для конфигурации через главное меню, о чем мы уже говорили выше. Hot Keyboard может запускаться при старте Windows, только в конкретный период времени или путем ввода заранее записанных символов. На официальном сайте для скачивания доступна пробная версия. Мы советуем сначала изучить ее, чтобы решить, стоит ли приобретать это ПО для постоянного использования.

Free Macro Recorder

Название Free Macro Recorder уже говорит о том, что эта программа распространяется бесплатно. Данное приложение позиционируется как автоматизатор основных процессов. Осуществляется это благодаря записи последовательностей нажатий клавиш на клавиатуре и кнопок мыши. Дополнительно для этих последовательностей можно присвоить открытие определенных файлов, программ, выделение или вставку текста, что и делает такие команды полноценными макросами. Принцип работы с Free Macro Recorder самый простой из тех, о которых мы уже говорили в рамках сегодняшней статьи, поскольку вам не придется самостоятельно создавать скрипты, предварительно изучив синтаксис языка. Здесь достаточно будет нажать на соответствующую кнопку для записи и начать задавать опции. После эта команда сохраняется и может редактироваться, например, доступно изменение времени отклика, повтор циклов и перемещение комбинаций.

Использование программы Free Macro Recorder для создания макросов

Здесь все же присутствует Мастер создания кода и простой редактор, которые позволят создавать более сложные команды. Данные опции будут полезны уже опытным юзерам, поскольку они требуют определенных навыков и понимания в создании скриптов. Однако этому можно научиться и самостоятельно, освоив уроки на официальном сайте. Там же мы рекомендуем ознакомиться и с более продвинутой версией данного ПО под названием Macro Scheduler, которая распространяется платно. Если вы искали как раз такой инструмент, загрузите его пробную версию, а после приобретите полную, если функциональность вас полностью устраивает.

WinAutomation

Использование программы WinAutomation для создания макросов

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

RoboTask

RoboTask может работать практически с любым типом простой или сложной автоматизации без необходимости создания пакетных файлов или написания скриптов в ручном режиме, поскольку пользователь выполняет все действия в графическом интерфейсе, который дает возможность просто выбирать и комбинировать действия в соответствии с личными потребностями. Это решение, как и любой другой продвинутый инструмент по автоматизации позволяет настроить самые разнообразные действия, включая открытие приложений, управление файлами, текстом и работу через интернет. Если вы являетесь владельцем FTP или сервера, стоит уделить внимание отдельным командам автоматизации процессов, выполняемых в этих модулях, поскольку иногда они являются очень важными и значительно упрощают администрирование.

Использование программы RoboTask для создания макросов

Интерфейс RoboTask выполнен в привычном и понятном стиле, где все команды оформлены в виде дерева, и именно благодаря этому поиск необходимой строки не займет много времени. Однако отсутствие русского языка интерфейса может вызвать проблемы с пониманием настроек у определенного пласта юзеров, но эта трудность решается использованием любого удобного переводчика. Распространяется RoboTask платно, а на странице разработчика в интернете доступна бесплатная пробная версия. Мы советуем сначала ознакомиться с ней, опробовав все присутствующие там команды, чтобы понять, подходит ли это приложение лично вам.

Macro Toolworks Professional / Perfect Keyboard Professional

В этом разделе статьи мы расскажем сразу про две программы от одного разработчика, которые изначально очень похожи, однако предназначаются для разных категорий пользователя и, соответственно, обладают разным набором опций. На возможности сборок следует обратить особое внимание, поскольку от этого и зависит их цена. На главной странице официального сайта сразу присутствует глобальная таблица со сравнением функциональности Macro Toolworks Professional и Perfect Keyboard Professional. Там же для определенных опций разработчик представил наглядный урок в формате видео, чтобы любой юзер разобрался с принципом работы.

Использование программы Macro Toolworks Professional для создания макросов

Punto Switcher

Использование программы Punto Switcher для создания макросов

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

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

Закрыть

Мы рады, что смогли помочь Вам в решении проблемы.

Отблагодарите автора, поделитесь статьей в социальных сетях.

Закрыть

Опишите, что у вас не получилось. Наши специалисты постараются ответить максимально быстро.

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

iMacros, иконка

Сегодня в объектив камеры нашего проекта попала тема из разряда бонусов для пользователя или так называемых "облегчалок" работы в повседневно-бытовой юзеровской жизни. Последняя связана непосредственно с путеводителем по интернету - браузером, причем не просто каким-то браузером, а многими любимым, единственным и неповторимым огненным лисом - Firefox , про который написано множество статей, особенно востребованные из которых были про плагины или оптимизацию.

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

Ну что, поехали осваивать..

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

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

Вашего покорного слугу, как уже говорилось выше, частенько напрягало вводить одни и те же пароли (даже не смотря на функцию запоминания), забивать однотипные «ФИО-формы» или формы логинов (и т.п.) при веб-серфинге по различным сайтам сети. Всегда хотелось, чтобы под рукой был некий виртуальный помощник, готовый подставить плечо в деле решения постоянно повторяющихся (бытовых) задач и сказать: « Хозяин, хватит делать все самому, предоставь это мне! ».

И хочу Вам сказать, что мои поиски такого помощника не были напрасны, ибо решение такое есть и зовется оно плагин iMacros для Firefox. К слову сказать, это даже не плагин, а целый комбайн решений, который можно поистине назвать палочкой-выручалочкой в деле автоматизации многих рабочих процессов web -браузера. Которым я и хочу с Вами поделиться.

И чтобы Вы как-то смогли убедиться, что это не просто красивые слова, рассмотрим заявленные разработчиком возможности.

Итак, замечательный плагин iMacros позволяет/осуществляет:

  • Автоматизировать свою деятельность, записывая и воспроизводя повторяющиеся действия пользователя;
  • Заполнение форм данных, запоминание паролей, которые в интерактивном режиме вводятся в поля;
  • Извлечение, сбор и исследование данных - специальная команда автоматически читает данные с сайта и экспортирует их в CSV -файл, действуя аналогично заполнению форм;
  • Тестирование web-приложений;
  • Автоматический вход в почту или другие часто посещаемые сайты;
  • Автоматическую выгрузку и загрузку - автоматизация загрузки изображений, файлов или целых страниц;
  • Возможность переноса файлов макросов с одного ПК на другой с последующим их воспроизведением;
  • Безопасное хранение паролей с использованием 256 -битного алгоритма шифрования;
  • Делиться своими макросами;
  • Сохранять и печатать веб-страницы;
  • Редактировать сохраненные макросы;
  • ..И многое другое.

Да, и еще, кроме всего прочего, этот плагин работает с самыми ходовыми браузерами, а именно, Mozilla Firefox, Google Chrome (и др. на основе Chromium ), многострадальным Internet Explorer и, кроме того, не гнушается таких ОС , как Windows, Mac , Linux.

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

Итак, функциональные возможности рассмотрели, осталось сказать пару слов о самом алгоритме работы программы. Выглядит он следующим образом.

Есть действия, которые требуют Вашего постоянного участия (ввод логина/пароля авторизации, заполнение формы данных и многое много многое прочее). Так вот, как минимум iMacros берет и записывает все действия, по Вашему желанию, в специальный макрос, который потом пользователь может запустить одним кликом и автоматически выполнить всю цепочку записанных в него операций. Вот и всего делов-то! Удобно же.

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

Освоение подопытного или что из себя представляет плагин iMacros

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

После загрузки нажимаем « Установить сейчас » и перезапускаем нашего огненного лиса (ну или лисичку, у кого как).

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

iMacros, процесс активации

Итак, после активации слева (от основной рабочей области браузера) появляется специальная форма плагина (см. изображение).

панель imacros псоле активации

Форма представляет собой две области, одна из которых предназначена для работы с уже готовыми демо-шаблонами ( 1 ), а вторая ( 2 ) – для создания/работы/редактирования с будущими макросами. Готовые шаблоны содержат список демо-скриптов, которые позволяют разобраться в работе модуля, а это: различные фреймы, фильтры, заполнение полей, табы и т.п.

Вот, например, один из макросов (" SavePDF ") запущен на выполнение (см. изображение).

макрос SavePDF

Конечно, на первый взгляд всё кажется непонятным, да и, отчасти, это так и есть, однако после ознакомления с видеоинструкциями из раздела поддержки становятся понятными механизмы работы со скриптами. Ну и примеры стоит посмотреть, да. В общем, не забывайте про раздел iMacros Suppor t. Если владеете английским, тогда посетите более подробный информационный ресурс с описанием работы iMacros (или он же через вкладку « Редактирование » - «П омощь »). Для тех же, кто не владеет - еще всё впереди, у нас еще будет некое количество статей по этой теме.

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

Итак, кликаем по вкладке « Редактирование », переходим в « Опции » и настраиваем необходимые параметры (см. изображение).

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

  • Вкладка « General » - поставить скорость воспроизведения в положение « Среднее » ( 1 ). Это оптимальный вариант по скорости выполнения макроса. Впрочем, если Вам потребуется более быстрое или медленное воспроизведение, то, как Вы понимаете, это всегда можно изменить;
  • Вкладка « Security » - можно указать необходимость шифрования паролей, которые будут запоминаться плагином. Это нужно для того, чтобы исключить возможность несанкционированного использования макросов, которые находятся на общих сетевых ресурсах. Придумайте основной пароль и введите его в поле « Enter master password.. » ( 2 ), если необходимо;
  • Изменить (если не устраивают) рабочие папки сохранения для макросов/данных/закачек, вкладка « Path » ( 3 ).

делаем настройки в imacros

Теперь окунемся в практику и рассмотрим парочку реальных примеров из жизни.

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

Можно раз и навсегда решить эту проблему с помощью iMacros путем записывания всех наших действий (единожды) и последующим просмотром, так сказать, увлекательного кино со стороны, в качестве зрителя. Т.е. мы забиваем все пароли/логины в формы один раз, и уже потом нет нужды хранить все в голове или еще где-то.

Итак, переходим на web -страницу ресурса, форму которого нам надо заполнить. Допустим, мы хотим попасть на всеми нами любимый форум проекта [Sonikelf's Project's], для чего идем по этому адресу Fорум Sис.Админа и начинаем записывать свои действия путём предварительного нажатия кнопки « Запись » (см. изображение).

iMacros, процесс записи

Примечание:
При клике по кнопке « Запись » вылетит предупреждение – хотим ли мы закрыть все формы до начала записи, нажимаем - « Нет ».

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

imacros, процесс записи в работе

Наблюдается интересная картина: мы сидим, ничего не делаем, а кто-то тем временем, используя наш логин и пароль, заходит на форум FS . Что за дела? ;)

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

Опять же, по желанию макрос возможно добавить в закладки браузеров Firefox , Chrome. Созданный макрос можно выбрать из этого выпадающего меню, дабы потом просто щелкать по нему как по вкладке и наблюдать за процессом. Изменив же путь Paths (вкладка « Редакт .» - « Опции ») и указав общедоступную сетевую (или обычную) папку, можно делиться макросами с другими пользователями по локальной сети.

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

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

iMacros для браузерных онлайн-игр
Сейчас все популярнее становятся браузерные онлайн-игры. В некоторых из них смысл игры заключается в том, чтобы выполнять определенные (чаще всего однотипные) действия через какой-то заданный промежуток времени. Так вот, чтобы автоматизировать сей процесс, достаточно всего лишь один раз выполнить всю последовательность действий в игре, записать макрос, задать время повторения и передать вожжи управления самому плагину. Кроме того, есть игры, которые приносят реальный доход, т.е., допустим, Вы развиваете персонажа/город и т.п. и получаете определенные цифровые "ништяки" (иногда в виде электронных денег) от спонсора. Так вот, поставьте этот процесс на автопилот и займитесь своими делами.

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

iMacros: команды макросов и их синтаксис

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

  • ADD – добавление переменной. Позволяет также производить вычитание путем добавления отрицательного значения переменной и поддерживает внутренние переменные !VAR1, !VAR2, !VAR3 и !EXTRACT ;
  • BACK – команда возврата на предыдущую страницу веб-сайта;
  • CLICK - клик на HTML -элемент с заранее указанными X/Y координатами. Левый верхний угол страницы - нулевое положение системы координат. Необязательный атрибут CONTENT может использоваться для вставки текста в поле ввода. В основном команда используется в тех случаях, когда необходимо нажимать ссылку, название которой меняется, а координаты остаются неизменными;
  • CLEAR – очищает все временные файлы на HDD, в том числе кэш браузера, куки, сохранённые пароли;
  • PAUSE – остановка выполнения макроса до момента, пока пользователь не нажмет кнопку « Продолжить ». Команда полезна для отладки скриптов;
  • REFRESH – обновляет текущее окно браузера по аналогии с кнопкой F5 ;
  • SET – устанавливает пользовательские переменные от ! VAR0 до ! VAR9 (стандартные встроенные переменные - число, символ, набор символов);
  • TAG - выбирает HTML- элемент из текущего сайта. Путем назначения параметров POS , TYPE , FORM и ATTR задается определение элемента. Если последний является ссылкой, то она будет нажата, т.е. команда TAG произведёт переход. Если выбранный элемент является формой ввода, то содержимое параметра CONTENT будет использовано для заполнения формы;
  • TAB – позволяет сфокусироваться на определенной вкладке браузера;
  • URL – осуществляет переход по заданной ссылке активной вкладки браузера;
  • VERSION – команда (без которой не обходится ни один макрос), указывающая на версию iMacros , с помощью которой он был записан;
  • WAIT - задержка по времени выполнения скрипта. Можно также задать определенный промежуток между командами Imacros -скрипта;
  • ‘ – одиночная кавычка, указывающая на комментарий. Начав строку со знака « ‘ » все остальное игнорируется.

Мы рассмотрели сами команды, с помощью которых создаются макросы iMacros . Теперь чуть ближе познакомимся с их синтаксисом, дабы у Вас самих была возможность что-либо составить из этих команд и попрактиковаться.

Итак, идем по порядку.

Синтаксис команды ADD

« ADD result_var added_value», здесь:

  • result_var - Одна из четырех внутренних переменных !VAR1, !VAR2, !VAR3 или ! EXTRACT ;
  • added_value - Значение, которое будет добавлено к result_var

Пример: Вычитание двух переменных.

SET !VAR1 10
ADD !VAR1 -2
=> Content of !VAR1 is 8.

Синтаксис команды URL

Пример: Открыть локальный файл с сетевого диска E

Макрос:
URL GOTO=file:///E:/image/icon.jpg
URL GOTO=file:///E:/folder/index.html

Синтаксис команды CLICK

«CLICK X=n Y=m [CONTENT=some_content]» , здесь:

  • X - Определяет горизонтальную координату элемента на сайте, который должен быть нажат;
  • У - Определяет вертикальную координату элемента на сайте, который должен быть нажат;
  • CONTENT - Указывает значение, которое отправляется при нажатии элемента.

Координаты (X/Y) нужного места, определяются с помощью специализированного софта.

Синтаксис команды SET

« SET var value », здесь:

  • var - Имя встроенной переменной, от ! VAR0 до ! VAR9 , или переменной определенной пользователем;
  • value – Присваиваемое значение

Пример: Установить значение « Заметки Сис.Админа » в переменную SET , а также цифровое значение задержки страницы, равное 100 секунд.

Макросы:

1. SET !VAR1 "Заметки Сис.Админа";
2. SET !TIMEOUT_PAGE 100

Синтаксис команды TAB

« TAB (T=n|OPEN|CLOSE|CLOSEALLOTHERS) », здесь:

  • n – порядковый номер нужной вкладки;
  • CLOSE – закрытие текущей вкладки;
  • OPEN - открытие новой вкладку в фоновом режиме;
  • CLOSEALLOTHERS - закрытие все вкладкок, кроме активной.

Синтаксис команды TAG

Пример: Загрузить файл « Filesonikelf . txt », расположенный на диске С .

Макрос:

TAG POS=1 TYPE=INPUT:FILE FORM=NAME:frm_upload ATTR=NAME:uploaded_file CONTENT=c:\Download\Filesonikelf.txt

Команда TAG позволяет запускать события, используя для этого значение EVENT: event_name для параметра CONTENT .

Синтаксис команды VERSION

« VERSION BUILD= », здесь:

Когда происходит запись макроса в iMacros , рекордер добавляет к нему атрибут " RECORDER=FX" , который не несет никакой командно-смысловой нагрузки.

Версия 7.03 (Build 1111 ), записана при помощи Firefox .

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

А пока, как минимум изучите возможность записи действий, попробуйте что-то редактировать и тд и тп. В общем, инструмент полезный, так что есть смысл осваивать.

Послесловие

В заключении хотелось бы еще раз сказать, что iMacros действительно полезная в быту вещица, но таки, чтобы раскрыть потенциал оной в полном объеме, необходимо повозится с мануалами, изучить demo -ролики, ну и вручную создать пару-тройку своих скриптов (последний пункт уже наша забота). Ну, или использовать по минимуму, опираясь на встроенную, собственно, запись макросов. Думайте :) Мы же, если Вам это интересно, постараемся статьями рассказывать по этой теме всякие новые штуки.

Результатом же всех этих стараний, если Вы таки решитесь их проделать станет сэкономленное время и автоматизация многих повседневно-рутинных операций при работе с интернетом и браузером. А это, в свою очередь, означает, что высвободившееся время можно потратить с пользой, например чаще на изучение сайта Заметки Сис.Админа и читать больше интересных, полезных статей для своего развития :) ;)

PS: За существование данной статьи спасибо члену команды 25 КАДР

Белов Андрей (Sonikelf) Заметки Сис.Админа [Sonikelf's Project's] Космодамианская наб., 32-34 Россия, Москва (916) 174-8226


Не так давно на Google+ появились игры. Прочитав топик об этом, я решил во что нибудь поиграть. Выбор пал на игру Diamond Dash. Через некоторое время игры программист во мне заговорил, что однотипные действия нужно автоматизировать. И вот что из этого вышло…

*Примечание: «руками» даже опытному игроку сложно набрать больше 400к

Раньше я никогда не сталкивался с задачами работы с экраном и мышкой. После непродолжительного гугления было решено для решения использовать язык макросов AutoIt.
Под катом вы найдете краткое описание игры, мой способ распознавания поля, алгоритм определения точки нажатия, и некоторое количество оптимизаций. А так же ссылку на github-репозиторий скрипта.
UPD Добавлено видео работы скрипта.

Краткое описание игры

Игра представляет из себя простую «кликни-на-область-больше-трех-квадратиков-одного-цвета» головоломку.

Есть поле 9 на 10, заполненное квадратиками 5 цветов. У нас есть одна минута на то, чтобы набрать максимальное количество очков. При нажатии на область из 3 или более одноцветных клеток, она исчезает, то что над ней проваливается, а сверху падает недостающее. Количество начисленных очков зависит от размера области: чем она больше — тем больше очков.
Кроме того, если делать клики быстро, и почти безошибочно, поле вокруг загорается, а каждое удаление(в данном случае взрыв), захватывает соседние с удаляемой областью клетки.

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

Определение координат окна

Эта часть была добавлена в самую последнюю очередь, до этого координаты угла были жестко прописаны в коде. Используется функция из сторонней библиотеки ImageSearch для поиска сохраненного шаблона 10 на 10 пикселей. Судя по всему, фон слегка меняется от игры к игре, потому что не любой кусок подходил.
На форумах повсеместно не рекомендуют использование ImageSearch из-за долгого времени работы. Но так как нам нужно определить координаты только один раз в начале игры, провисаний по времени можно не опасаться.

Распознавание цветов и сохранение скриншотов


Для определения цвета пикселя по его координатам в AutoIt есть функция PixelGetColor. Но как показала практика, измерение всего 90 пикселей занимает полторы секунды, что, конечно, не очень хорошо. Но справедливости ради надо сказать, что бот написанный с использованием этой функции набирал 400-600 тысяч очков, а это больше чем может набрать человек, даже при большой сноровке.
На форумах был найден метод сохранения текущего состояния монитора в Bitmap, используя WinAPI. Кстати, этот битмап, при необходимости(например для дебага), можно сохранить в файл функцией _ScreenCapture. Далее смотрим цвета 90 пикселей, расположенных по решетке и по ним строим таблицу цветов квадратиков.
  1. Func _GetField ( ByRef $aiField ) ; получение массива цветов поля
  2. ; получение BitMap-снимка экрана с помощью WinAPI
  3. Local $hWnd = WinGetHandle ( "Игры Google+ - Google Chrome" )
  4. Local $Size = WinGetClientSize ( $hWnd )
  5. Local $hDC = _WinAPI_GetDC ( $hWnd )
  6. Local $hMemDC = _WinAPI_CreateCompatibleDC ( $hDC )
  7. Local $hBitmap = _WinAPI_CreateCompatibleBitmap ( $hDC , $Size [ 0 ] , $Size [ 1 ] )
  8. Local $hSv = _WinAPI_SelectObject ( $hMemDC , $hBitmap )
  9. _WinAPI_BitBlt ( $hMemDC , 0 , 0 , $Size [ 0 ] , $Size [ 1 ] , $hDC , 0 , 0 , $SRCCOPY )
  10. _WinAPI_SelectObject ( $hMemDC , $hSv )
  11. _WinAPI_DeleteDC ( $hMemDC )
  12. _WinAPI_ReleaseDC ( $hWnd , $hDC )
  13. Local $L = $Size [ 0 ] * $Size [ 1 ]
  14. Local $tBits = DllStructCreate ( 'dword[' & $L & ']' )
  15. _WinAPI_GetBitmapBits ( $hBitmap , 4 * $L , DllStructGetPtr ( $tBits ) )
  16. ; определение цветов клеток
  17. For $iCol = 0 To $iNumCols - 1
  18. For $iRow = $iNumRows - 1 to 0 Step - 1
  19. ; замер цвета квадратика
  20. $iX = $iCornerX + ( $iCol * 40 ) + $iDeltaX
  21. $iY = $iCornerY + ( $iRow * 40 ) + $iDeltaY
  22. $iPixelColor = Mod ( DllStructGetData ( $tBits , 1 , $iY * $Size [ 0 ] + $iX ) , 0x1000000 )
  23. $aiField [ $iRow ] [ $iCol ] = _GetCheckColor ( $iPixelColor )
  24. Next
  25. Next
  26. ; удаление данных для избежаня утечки памяти
  27. _WinAPI_DeleteObject ( $hBitmap )
  28. _WinAPI_DeleteObject ( $hMemDC )
  29. _WinAPI_DeleteObject ( $tBits )
  30. EndFunc



Тут стоит оговориться, почему замер происходит всего по 1 точке. Этот метод был испробован мной в первую очередь, и остался в финальной версии. Между этими двумя моментами было испробовано довольно большое количество альтернативных способов, среди которых были: замер 64 точек на каждый квадратик(решетка 8 на 8) и различные усреднения полученных значений, случайный выбор координат для замера, хранение истории нескольких последних замеров для лучшей точности… Но все они оказались менее точными или удобными, чем самый первый способ.
Возможно, что так как я весьма далек от темы распознавания изображений, я не знаю чего-то простого, способного помочь мне в этом вопросе. В таком случае буду рад любым предложениям. =)

Определение одноцветной области по таблице цветов


Ну, и, наконец, осталось найти подходящее место и кликнуть туда. Для этого обходим поле снизу вверх (потому что все падает вниз, а значит снизу менее пусто чем сверху), и проверяем одноцветные части. Я делал это с помощью алгоритма безрекурсивного поиска в глубину (DFS). Вкратце суть такова: кладем в стек стартовую клетку, а дальше, пока стек не пуст, достаем из него текущую клетку и обходим ее соседей, при совпадении цвета кладем в стек. Ну да что говорить, код понятней. =)
  1. Func _DfsAreaSize ( ByRef $aiField , $iStartX , $iStartY ) ; нерекурсивный алгоритм поиска размера одноцветной области
  2. ; методом поиска в глубину
  3. Local $aiResult [ $iNumCols * $iNumRows ] [ 2 ] ; список клеток входящих в область
  4. Local $iResultSize = 0
  5. Local $afMap [ $iNumRows ] [ $iNumCols ] ; флаги пройденности
  6. For $iRow = 0 to $iNumRows - 1
  7. For $iCol = 0 to $iNumCols - 1
  8. $afMap [ $iRow ] [ $iCol ] = False
  9. Next
  10. Next
  11. $afMap [ $iStartX ] [ $iStartY ] = True
  12. Local $aiStack [ $iNumRows * $iNumCols ] [ 2 ] ; активный стек
  13. Local $iStackSize = 1
  14. $aiStack [ 0 ] [ 0 ] = $iStartX
  15. $aiStack [ 0 ] [ 1 ] = $iStartY
  16. While $iStackSize > 0
  17. $iStackSize -= 1
  18. $iX = $aiStack [ $iStackSize ] [ 0 ]
  19. $iY = $aiStack [ $iStackSize ] [ 1 ]
  20. $aiResult [ $iResultSize ] [ 0 ] = $iX
  21. $aiResult [ $iResultSize ] [ 1 ] = $iY
  22. $iResultSize += 1
  23. For $iDirection = 0 to 3 ; перебор 4 рядомстоящих клеток
  24. Local $iNewX = $iX
  25. Local $iNewY = $iY
  26. Switch $iDirection
  27. Case 0
  28. $iNewY += 1
  29. Case 1
  30. $iNewY -= 1
  31. Case 2
  32. $iNewX += 1
  33. Case 3
  34. $iNewX -= 1
  35. EndSwitch
  36. If ( $iNewX >= 0 And $iNewX < $iNumRows And _
  37. $iNewY >= 0 And $iNewY < $iNumCols And _
  38. Not ( $afMap [ $iNewX ] [ $iNewY ] ) And $aiField [ $iNewX ] [ $iNewY ] = $aiField [ $iStartX ] [ $iStartY ] ) Then
  39. $afMap [ $iNewX ] [ $iNewY ] = True
  40. $aiStack [ $iStackSize ] [ 0 ] = $iNewX
  41. $aiStack [ $iStackSize ] [ 1 ] = $iNewY
  42. $iStackSize += 1
  43. EndIf
  44. Next
  45. WEnd
  46. Return $iResultSize
  47. EndFunc

Оптимизации

Оптимизация 1. Алмазики



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

А между тем, алмазы — очень полезная вещь, потому что пока падает огненный шар, таймер останавливается, а квадратики падают. А значит пробелы заполняются, и ошибок будет меньше.
Для определения алмазов для начала пришлось поиграть с координатами замеров, чтобы цветные клетки определялись корректно, а алмазы — не попадали ни под один из их цветов. После этого создаем массив $aiDiams размером 3 (будем проверять только нижние 3 строки, потому что все алмазы рано или поздно туда упадут) * ширину (в нашем случае — 10). При каждом замере просматриваем нижние 3 строки, и если ячейка определилась, то обнуляем соответствующее место в $aiDiams, иначе инкрементируем его. Таким образом для клеток с алмазиками значения будут велики. При накоплении некоего порога, кликаем.
  1. For $iRow = $iNumRows - 1 to $iNumRows - 3 Step - 1
  2. For $iCol = 0 to $iNumCols - 1
  3. If $aiField [ $iRow ] [ $iCol ] <> 0 Then
  4. $aiDiams [ $iRow ] [ $iCol ] = 0
  5. Else
  6. $aiDiams [ $iRow ] [ $iCol ] += 1
  7. If $aiDiams [ $iRow ] [ $iCol ] > 15 Then
  8. MouseClick ( "Left" , $iCornerX + 30 + ( $iCol * 40 ) , $iCornerY + 10 + ( $iRow * 40 ) , 1 , $iMouseSpeed )
  9. $aiDiams [ $iRow ] [ $iCol ] = 0
  10. Sleep ( 500 )
  11. Return 0
  12. EndIf
  13. EndIf
  14. Next
  15. Next
Оптимизация 2. Over Explosion
Оптимизация 3. Область последнего клика

Защита от повторной ошибки, в эффективности которой я не уверен. Дело в том, что в самой игре при ошибке клетка становится серого цвета, а серый цвет алгоритмом определяется как неопределенный (тавтология получилась =) ). Но хуже эта проверка точно сделать не может, поэтому пусть живет.
Суть в том, что при каждом клике сохраняем область, по которой кликаем, и при следующем клике не трогаем ее.

Вместо постскриптума. Пара слов об AutoIt

Читайте также: