Как сделать макрос imacros
Основные команды для iMacros
Сохраняем URL страницы
iMacros: команды макросов и их синтаксис
Для начала рассмотрим список команд, позволяющих нам выполнять простейшие действия. Итак, команды следующие:
Итак, идем по порядку.
Синтаксис команды ADD
« ADD result_var added_value», здесь:
Пример: Вычитание двух переменных.
Синтаксис команды URL
Пример: Открыть локальный файл с сетевого диска E
Макрос:
URL GOTO=file:///E:/image/icon.jpg
URL GOTO=file:///E:/folder/index.html
Синтаксис команды CLICK
Координаты (X/Y) нужного места, определяются с помощью специализированного софта.
Пример: Надо осуществить переход на сайт sonikelf.ru, найти в строке поиска необходимую фразу, например « windows 8 » и осуществить поиск статей, соответствующих данному запросу.
Синтаксис команды SET
« SET var value », здесь:
Синтаксис команды TAB
« TAB (T=n|OPEN|CLOSE|CLOSEALLOTHERS) », здесь:
Пример: Открыть сайт во второй вкладке
Макрос:
‘ Открытие веб-страницы в первой вкладке
URL GOTO=https://www.sonikelf.ru/forum
‘ Открытие новой вкладки
TAB OPEN
‘ Выбор открытой вкладки
TAB T=2
‘ Загрузка новой страницы
URL GOTO=https://www.sonikelf.ru
‘ Закрытие второй вкладки
TAB CLOSE
TAB T=1
Синтаксис команды TAG
TAG POS=1 TYPE=INPUT:FILE FORM=NAME:frm_upload ATTR=NAME:uploaded_file CONTENT=c:\Download\Filesonikelf.txt
Макрос:
URL GOTO= https://sonikelf.ru/attach/img/1342186216-clip-21kb.jpg
ONDOWNLOAD FOLDER=* FILE=*
‘Загрузка изображения с помощью одного из следующих способов:
TAG POS=1 TYPE=IMG ATTR=HREF:https://*.jpg CONTENT=EVENT:SAVEITEM
‘TAG POS=1 TYPE=IMG ATTR=HREF:https://*.jpg CONTENT=EVENT:SAVEPICTUREAS
!EXTRACT – содержит результат извлечения со страницы
TAG POS=1 TYPE=H1 ATTR=CLASS:mctc_name_tx EXTRACT=TXT
TAG POS=1 TYPE=H1 ATTR=CLASS:mctc_name_tx&&HREF:* EXTRACT=TXT
TAG POS=1 TYPE=H1 ATTR=CLASS:mctc_name_tx&&HREF: EXTRACT=HREF
!CLIPBOARD – Внутренняя переменная содержит в себе буфер обмена
Запуск файлов iMacros и JS
Где «path» в коде — путь до скрипта относительно родительской папки Imacros.
То есть, если у вас скрипт с именем 1.iim лежит в общей куче скриптов, то указываете так:
URL GOTO=imacros://run/?m=1.iim
а если вы создали в папке скриптов папку lolo, то указываете так:
URL GOTO=imacros://run/?m=lolo/1.iim
URL GOTO=http://provereno-platit.ru Команда перехода на страницу
URL – осуществляет переход по заданной ссылке активной вкладки браузера;
REFRESH – обновляет текущее окно браузера по аналогии с кнопкой F5 ;
TAB – позволяет сфокусироваться на определенной вкладке браузера;
WAIT SECONDS=30 пауза в секундах перед следующей командой. Команда ожидания/задержки по времени скрипта Imacros. Иногда нужно задать определенный промежуток между командами скрипта в Imacros. Например, нужно побыть на какой-то странице секунд 30 для имитации ее чтения, а потом перейти на другую
TAB CLOSEALLOTHERS Закрыть все вкладки.
CLICK X=411 Y=133 Команда клика по координатам. В том случае, когда названия ссылок меняются а место остается одно и тоже. Когда адрес ссылки динамический и постоянно меняется,
А вот тут можно прямо на сайте узнать координаты любой точки на мониторе
http:// usefulscript.ru/ cursor_position.php
!CLIPBOARD — вставка текста с буфера обмена. Очень полезная команда, когда делаешь рассылку объявлений в группы. Позволяет записывать макрос для всех групп, а необходимый текст менять перед запуском макроса путем простого копирования в буфер.
‘ — после этого знака можно комментировать свои действия.
Работа с вкладками.
TAB T=1 ‘Активная вкладка.
TAB T=2 ‘Следующая вкладка.
TAB T=0 ‘Предыдущая вкладка.
TAB OPEN ‘Открыть новую вкладку.
TAB CLOSE ‘Закрыть текущую вкладку.
TAB CLOSEALLOTHERS ‘Закрыть все вкладки, кроме активной.
REFRESH ‘Обновить вкладку.
‘Пробел, перенос строки.
‘Пробел. Так же можно оставить обычный пробел, если содержимое взять в двойные кавычки. «Вот так».
‘Перенос на новую строку. Тут кавычки не помогут. Только
‘Создание переменной.
SET q 15 ‘Создаст ‘q’ со значением ’15’.
SET text «hi hi» ‘Создаст ‘text’ со значением ‘hi hi’.
‘Использование переменной. Чтобы использовать переменную, её необходимо взять в фигурные скобки.
TAG POS=1 TYPE=* ATTR=* CONTENT=<
Важное примечание для пользователей Windows: Если вы используете в качестве строк кириллический текст, советую вам использовать для создания таких файлов программу Notepad++ и сохранять файл в кодировке UTF-8 без BOOM.
Именно так вы добьетесь корректного постинга текстов на кириллице. Иначе у вас могут возникнуть проблемы с кодировкой. И вместо нормального текста там будут «крякозабы».
‘Пауза. Длится, пока вы не нажмете кнопку «Продолжить».
PAUSE
‘Работа с прокси.
PROXY ADDRESS=proxy:port
‘Нажатие клавиш.
EVENT TYPE=KEYPRESS SELECTOR=* KEY=13 ‘Нажатие клавиши Enter.
EVENTS TYPE=KEYPRESS SELECTOR=* KEYS=[8,8] ‘Два раза нажимает Backspace.
Как сделать макрос imacros
Параметры:
Примеры:
Показать извлеченные даные (пример скрипта Visual Basic):
Команда iMacros ADD
Синтаксис:
Параметры:
Примеры:
Если хотя бы одно из значений является строкой, тогда результатом работы будет строка:
Команда iMacros BACK
Команда iMacros BACK выполняет следующую функцию, она открывает предыдущую посещенную страницу из истории браузера. По сути BACK в iMacros заменяет нажатие кнопки Назад в браузере. После выполнения данной команды сайты не сможет определить что Назад вызывает макрос, а не пользователь, кликая мышкой.
Синтаксис:
Пример:
CLEAR
Команда iMacros CLEAR
Также команда будет полезна если вы хотите при помощи iMacros замерить время отклика сайта, так как кэш на это влияет.
* Надо учитывать, что команда удалит данные всех сайтов, с которыми вы работали.
Синтаксис:
Пример:
Используйте аймакрос команду CLEAR для очитстки кэша браузера, чтобы он не влиял на измерение времени ответа сайта:
Примечание:
CLICK
Команда iMacros CLICK
«Клик» (нажатие / CLICK) по любому HTML-элементу, по заданным X / Y координатам. Начальное положение системы координат находится в левом верхнем углу страницы. Ось X положительно направлена вправо, ось Y соответственно вниз. Рекомендуется применять данную команду в скриптах iMacros только если все прочие способы не работают.
Для записи командной CLICK установить Recording mod в положение Use X/Y position, для этого зайдите на вкладку Запись или Rec нажмите кнопку Record options.
Синтаксис:
Параметры:
Пример:
В данном примере при помощи iMacros команды CLICK реализуется выбор яблочного пирога на десерт:
Примечание:
Обычно DS в iMacros используется для автоматизации работы с веб-страницами, которые содержат не HTML элементы, а «сложные» технологии, такие как Java applets, Adobe Flash, Adobe Flex, Microsoft Silverlight или ActiveX контроль. Также можно автоматизировать даже самый сложный сайт, основанный на AJAX.
Работает в:
Flash приложение симуляции калькулятора на картинке ниже.
Пример сложного (нестандартного) JavaScript — всплывающее диалоговое окно, которое лучше автоматизированной с помощью DirectScreen.
Запись DirectScreen команды:
При работе не с HTML технологиями, такими как Flash, Java или другими, в стандартном режиме, iMacros не может записать действия. Чтобы записать макрос на Flash или Java applet, вы должны активировать технологию DirectScreen, для этого необходимо:
iMacros записывает действия клавиатуры и мыши, записывается много DS и WAIT команд (в зависимости от сложности выполняемых действий). Далее объясняется, почему.
Как определить координаты?
Есть несколько способов определения координат для команды DirectScreen:
1. Абсолютное значение (жесткая привязка к осям):
2. Центр HTML элемента. Элемент берется с предыдущей команды TAG. Свойство особенно полезно для использования с AJAX элементами.
3. Центр изображения, определяется по предыдущей команде IMAGESEARCH. Изображение может быть любым, нет ограничения по встроенными HTML изображениям.
Почему записалось много WAIT команд?
Настройки по умолчанию:
Если вы используете настройки по умолчанию, iMacros записывает действия на стандартной скорости, то есть записываются не только нажатия, но и как долго вы ждете между действиями (например, «выбор элемента», «нажатие левой кнопки мыши», «отпускание левой кнопки мыши «, и т. д.). Эти временные интервалы записываются при помощи команды WAIT, которая записывается iMacros автоматически. Таким образом, applet (втроенный скрипт или приложение) имеют достаточно времени, чтобы среагировать на ваши действия.
Если вы заметили, что applet срабатывает быстрее, вы можете попробовать сократить время ожидания путем редактирования макроса. Но обратите внимание, что applet обычно требуется некоторое время, чтобы обновиться. Как альтернатива WAIT можно использовать команду IMAGESEARCH, которая сканирует экран браузера до того, пока не появится указанное изображение (например, изображение кнопки или текст).
Ввод текста:
Когда используется режим записи команд iMacros DS, DS также записывает ввод текста с помощью команды «DS CMD=KEY». Вы можете использовать команду
Синтаксис:
Параметры:
Координаты X/Y могут быть где угодно, но должны быть внутри области, в которой нужно сделать скриншот. Так что, если вам нужен скриншот страницы с Java-приложением, координаты должны быть где-то внутри этого приложения, в противном случае эта область останется черной. Несколько скриншотов могут быть объединены в один с помощью команды SCREENSHOTINCLUDE.
Команда iMacros EVAL
Команда EVAL позволяет использовать возможности JavaScript в работе iim макроса. Также команда может быть использована для простого анализа и обработки извлеченных данных.
Чаще всего к данной команде обращаются, когда использование встроенного функционала iMacros проще, чем написание кода на js или использование чистого js невозможно, но в целом на JS можно реализовать более сложные проекты.
Синтаксис:
Доступен начиная с iMacros V7.5 и более поздних, дополнение iMacros для Firefox 7.4.0.1 и выше.
Параметры:
Примечания:
Примеры:
1. Случайное время задержки. Подождать случайно выбранное время (от 1 до 10 секунд), после загрузки страницы:
2. Сгенерировать случайное число в определенном диапазона:
3. Получение и сравнение валют. Сохранить результат.
Сохранить EUR-ставку в долларах USD, только если она выше определенного порога (1.3 USD). Если ставка ниже, остановить макрос и выдать сообщение об ошибке:
4. Получение и сравнение даты/времени.
Проверить: последнее сообщение старше нескольких часов (12 часов):
5. Получить вчерашнюю дату.
6. Получить завтрашнюю дату.
Создайте переменную с завтрашней датой в формате дд/мм/гггг:
7. Редактировать извлеченный текст.
Преобразование текста в строку верхнего регистра:
Удалить первые и последние пробелы:
EVENT
Команда iMacros EVENT
Команда EVENT — это новая команда для автоматизации управления веб-элементами, с которыми не может справиться классический TAG. Рассмотрим, с чем данная команда может нам помочь:
В частности, EVENT справляется с написанием комментариев на VK.com, в то время, как TAG там бесполезен.
Для активации режима записи эвентов, нажмите Record, затем в блоке Recording mode смените радио-баттон на Experimental event recording mode.
Синтаксис:
Параметры:
MOUSEDOWN, CLICK и DBLCLICK нужна BUTTON (0 — по умолчанию или левая кнопка мыши, 1 — средняя кнопка мыши, 2 — вторая или правая кнопка мыши).
MOUSEUP и MOUSEMOVE используют POINT вида «(245,186)».
KEYDOWN, KEYUP и KEYPRESS используют CHAR (печатаемые символы, вида «п» или «Q») или KEY (непечатаемые клавиши клавиатуры, как пример стрелка вверх, вида KEY=40).
Примечание:
События клавиатуры которые используют KEY поддерживаются только в дополнении iMacros для Firefox.
EVENTS сборники собирают EVENT команды одного и того же типа и на одном целевом элементе, поэтому при перемещении мыши по пути записывается всего одна команда EVENTS, где точки, определяющие путь даны в виде списка: POINTS=»(27,154),(26,154),(25,154)».
Примеры:
Используйте команду CLEAR, чтобы локальные данные в кэше не повлияли на измерение времени отклика веб-сайта:
EXTRACT
Параметр iMacros EXTRACT
Параметр EXTRACT является частью команды TAG. Основной функцией данного параметра является извлечение данных из сайта. Используйте атрибут ATTR для определения той части, которую необходимо извлечь. Обычно эта часть генерируется с помощью мастера извлечения (Extraction Wizard). Параметр EXTRACT ищет исходный HTML код веб-сайта для н-го появления ATTR и извлекает его. ATTR всегда должен заканчиваться шаблонизатором (*).
Если несколько команд с EXTRACT выполняются в одном макросе, то результаты отделяются друг от друга строкой «[EXTRACT]». При сохранении извлеченных данных («SAVEAS TYPE=EXTRACT») эта строка автоматически заменяется на перевод на новую строку.
Синтаксис:
Значение параметра EXTRACT команды TAG:
Примечание: при извлечении текста из поля ввода (команда TAG содержит «TYPE=INPUT»), не должно быть параметра CONTENT.
Извлечение нестандартных атрибутов:
В новых версиях iMacros for Firefox и iMacros Browser, вы можете извлечь любой атрибут. Если вы хотите знать, какие атрибуты доступны, записывайте команду TAG в экспертном режиме.
Примеры:
Как правило, всплывающие подсказки определяется атрибутом TITLE элемента. Вы можете извлечь содержимое всплывающей подсказки с помощью EXTRACT iMacros:
qTip подсказка в JavaScript фреймворке JQuery используется не стандартный «title», а дополнительный атрибут с названием «data-qtip»:
ComputerName=* — начальная неизменная часть подсказки и используется для определения всплывающей подсказки которая должна быть извлечена. Запись в Expert Mode создаст команду TAG, которая состоит из всех атрибутов щелкнутого (выбранного) HTML-элемента.
FILEDELETE
Команда FILEDELETE удаляет файл с заданным именем. Если в имени не указан каталог, предполагается что файл лежит в стандартном каталоге iMacros Downloads (по умолчанию: \iMacros\Downloads). Можно задать абсолютный путь к файлу лежащему в другой папке.
Синтаксис:
Параметры:
Примечания:
Пример:
Примар правильного задания файлов, в пути которых есть названия папок с пробелами (в данном случае есть папка «data folder»):
Рассмотрим случай, когда макрос извлекает данные из веб-страницы и сохраняет их в том же файле. Обычно новые данные добавляются к существующим файлам. Если вы хотите, чтобы файл содержал последние полученные данные, нужно удалить файл перед сохранением.
Команды
В рубрике iMacros Команды вы можете найти все статьи блога, касательно данной тематики. Все статьи на русском языке, с полным описанием каждой команды и примерами макросов.
SIZE — изменение размеров браузера
При помощи команды SIZE iMacros изменяет размер окна браузера. Данная команда необходима, прежде всего, при использовании команд DS (Direct Screen) с фиксированными координатами, но она также может понадобиться при необходимости проверки изображения. Примечания: SIZE iMacros гарантирует, что видимая страница браузера имеет указанный размер. Фактический размер всего окна браузера будет больше,…
ДАЛЕЕ
ONERRORDIALOG — обработка ошибок сценария
Команда ONERRORDIALOG iMacros используется, если на веб-странице возникнет ошибка выполнения JavaScript сценария, тогда Internet Explorer открывает диалоговое окно с сообщением об ошибке. Данная команда обрабатывает такие диалоговые окна, чтобы ваши макросы не останавливались с ошибками. По умолчанию параметры: BUTTON=YES и CONTINUE=YES. Эти настройки активны даже без использования ONERRORDIALOG в ваших…
ДАЛЕЕ
IMAGESEARCH — поиск изображений на странице
Команда IMAGESEARCH iMacros ищет заданное изображение, указанное с помощью параметра IMAGE. На основе исходного изображения производится поиск на отображаемой в данный момент странице сайта с использованием алгоритма Распознавания Изображений. CONFIDENCE определяет насколько близко найденное изображение должно соответствовать заданному. Значение 100 означает точное совпадение. Если входное изображение не найдено, при заданном…
ДАЛЕЕ
SEARCH — поиск в коде страницы
Команда iMacros SEARCH ищет текст или подстроку (используя регулярное выражение) в исходном коде страницы, в отличии от команды TAG, которая пользуется объектной моделью документа (DOM). Таким образом SEARCH также «видит» комментарии в коде страницы и может извлекать информацию из скрытых объектов (style=»display: none;») Работает в: Синтаксис:
Примеры макросов
В рубрике Примеры макросов iMacros вы можете найти много практических примеров макросов на русском языке. А так же детальный разбор каждой строки и пояснения.
Demo-Upload — загрузка файлов на сайт
Макрос Demo-Upload iMacros демонстрирует автоматическую загрузку файлов на сайт (сервер). Если говорить конкретней, то макрос работает с html-тегом у которое есть атрибут TYPE = «FILE». Ярким примером из моей практики будет отправка изображений, содержащих капчу, на сервер для распознавания текста изображенного на картинках. Описание работы Demo-Upload.iim: Строка 1 —…
ДАЛЕЕ
Demo-Tabs.iim — работа с вкладками
Макрос Demo-Tabs iMacros демонстрирует возможность управления интерфейсом браузера, а именно работу с вкладками. При помощи команды TAB вкладки можно открывать, закрывать, переключаться на нужную для дальнейшей работы макроса. Описание работы Demo-Tabs.iim: Строка 1 — строка, описывающая версию (VERSION) iMacros Browser на которой был написан данный макрос, используется для совместимости данного…
ДАЛЕЕ
Demo-Web-Test — пример веб-тестирования
Пример Demo-Web-Test демонстрирует использование команды STOPWATCH для автоматизированного веб-тестирования. Данный пример может использоваться как с плагинами для IE и Firefox, так и в iMacros Browser. При помощи макроса проверяется полное время на выполнение макроса, время затраченное на вход в систему и выполнение поиска по товарным знакам на сайте «Бюро патентов…
ДАЛЕЕ
Demo-SaveAs.iim — сохраняем текущую страницу
В макросе Demo-SaveAs.iim показано, как при помощи iMacros можно сохранить открытую веб-страницу в разных форматах. Возможные форматы для сохранения определены командой SAVEAS, пройдя по ссылке вы можете посмотреть варианты. Описание работы Demo-SaveAs.iim: Строка 1 — указывает на версию (VERSION) iMacros Browser на которой был написан данный макрос. Строка 2 —…
ДАЛЕЕ
Demo-JavascriptDialog.iim — работа с JS окнами
В макросе Demo-JavascriptDialog.iim показано, как iMacros может взаимодействовать с всплывающими JavaScript окнами. В данном примере можно увидеть, нажатие на кнопку ОК в простых alert-окнах, а также заполнение prompt-окон. Описание работы Demo-JavascriptDialog.iim: Строка 1 — описывает версию (VERSION) iMacros Browser на которой был написан данный макрос. Строка 2 — объявляется TAB…
ДАЛЕЕ
Twitter — написание парсера твитов
Сегодня в статье я хочу показать пример написания парсера твиттер iMacros. В статье подробно описан весь путь создания макроса. В своей работе я буду использовать только Firefox и дополнение к нему iMacros. Вся реализация будет стандартными средствами. Суть задачи: парсинг текста твитов из выбранного аккаунта, предварительно открытого в браузере. Количество…
ДАЛЕЕ