Основные команды для iMacros

Сохраняем URL страницы

Переменная !URLCURRENT содержит текущий адрес страницы. URL-адрес, который копируется, отображается в адресной строке браузера.
SET !VAR1 {{!URLCURRENT}}

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

«URL GOTO=нужный_URL»

Пример: Открыть два сайта (sonikelf.ru/forum и sonikelf.info), причем второй сайт в новой вкладке.

Макрос:
' Открытие 1-сайта в первой вкладке
URL GOTO=https://sonikelf.ru/forum
' Открытие второй вкладки
TAB OPEN
' Переход на вторую вкладку
TAB T=2
' Загрузка 2-сайта
URL GOTO=https://sonikelf.info

Пример: Открыть локальный файл с сетевого диска 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) нужного места, определяются с помощью специализированного софта.

Пример: Надо осуществить переход на сайт sonikelf.ru, найти в строке поиска необходимую фразу, например «windows 8» и осуществить поиск статей, соответствующих данному запросу.

Макрос:
' Переход на сайт
URL GOTO=https://www.sonikelf.ru/
' Ввод в строку поиска необходимой фразы. (Координаты вычислены с помощью спецсофта).
CLICK X=145 Y=350 CONTENT=Windows8система
' Нажатие кнопки «поиск»
CLICK X=280 Y=350

Синтаксис команды 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 - закрытие все вкладкок, кроме активной.

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

Макрос:
' Открытие веб-страницы в первой вкладке
URL GOTO=https://www.sonikelf.ru/forum
' Открытие новой вкладки
TAB OPEN
' Выбор открытой вкладки
TAB T=2
' Загрузка новой страницы
URL GOTO=https://www.sonikelf.ru
' Закрытие второй вкладки
TAB CLOSE
TAB T=1

Синтаксис команды 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.

Пример: процесс загрузки изображения по URL-адресу

Макрос:
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

Здесь:

  • SAVEITEM - событие для сохранения объектов, в основном изображении, с любого веб-сайта. Для указания папки загрузки файла используется команда ONDOWNLOAD (с ее помощью определяется местоположение и имя загружаемого файла);
  • SAVEPICTUREAS - Сохранить изображение как..
  • SAVETARGETAS - Сохранить объект как..
  • ATTR=HREF: some_url (https://*.jpg) – выбор ссылки по заданному URL

 


PROMPT {{!VAR1}} - Выводим на экра с остановкой значение !VAR1

SET !ENCRYPTION NO – аймакрос не будет шифровать пароли
SET !ENCRYPTION STOREDKEY – пароль будет зашифрован и сохранен на вашем Пк
SET !ENCRYPTION TMPKEY – Мастер-пароль не хранится на компьютере, самый безопасный

!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

!VAR0 - VAR9 - Внутренние переменные iMakros

!URLCURRENT - Переменная содержит текущий адрес страницы. URL-адрес, который копируется, отображается в адресной строке браузера.

!CLIPBOARD – Внутренняя переменная содержит в себе буфер обмена

ADD - сложение

SET - задатьа.

SET LOOP n - команда для задания цикла

Pause - Если вы хотите постоянную паузу, чтобы скрипт ждал ваших действий

TAG POS=1 TYPE=A ATTR=TXT: Погода - Данная конструкция дает команду скрипту искать текст «Погода » на целевой странице, и если он там присутствует, произвести клик по нему.

WAIT SECONDS=#DOWNLOADCOMPLETE# - скрипт ждет окончания загрузки страницы

SET !REPLAYSPEED SLOW - Снижение скорости работы скрипта

SET !REPLAYSPEED 1 - Меняет скорость работы скрипта: 1 — быстро, 2 — нормальная скорость, 3 — медленная скорость

DISCONNECT - Отключиться от сети (выйти в оффлайн)

CLEAR - Очиститка кэш и куки

URL GOTO=about:newtab - Создаем новую вкладку

Запуск файлов iMacros и JS

cd "C:\Program Files\Mozilla Firefox" - Запуск макроса с файла *.bat
start firefox imacros://run/?m=22new.iim

iimPlayCode(«URL GOTO=imacros://run/?m=path/file.js») - Запуск файла файла js из файла js

iimPlay(«path/file.iim») - Запуск файла iMacros из файла js

URL GOTO=imacros://run/?m=path/file.iim - запустить из одного скрипта iMacros другой скрипт

URL GOTO=imacros://run/?m=path/file.js - запустить из одного скрипта iMacros файла js

Где «path» в коде — путь до скрипта относительно родительской папки Imacros.
То есть, если у вас скрипт с именем 1.iim лежит в общей куче скриптов, то указываете так:
URL GOTO=imacros://run/?m=1.iim
а если вы создали в папке скриптов папку lolo, то указываете так:
URL GOTO=imacros://run/?m=lolo/1.iim

 

FILTER TYPE=IMAGES STATUS=O - запрет на загрузку изображений.

VERSION команда (без которой не обходится ни один макрос), указывающая на версию iMacros, с помощью которой он был записан

URL GOTO=http://provereno-platit.ru  Команда перехода на страницу

URL – осуществляет переход по заданной ссылке активной вкладки браузера;

REFRESH – обновляет текущее окно браузера по аналогии с кнопкой F5;

TAG — выбирает HTML-элемент из текущего сайта. Путем назначения параметров POS, TYPE, FORM и ATTR задается определение элемента. Если последний является ссылкой, то она будет нажата, т.е. команда TAG произведёт переход. Если выбранный элемент является формой ввода, то содержимое параметра CONTENT будет использовано для заполнения формы;

TAB – позволяет сфокусироваться на определенной вкладке браузера;

 WAIT SECONDS=30 пауза в секундах перед следующей командой. Команда ожидания/задержки по времени скрипта Imacros. Иногда нужно задать определенный промежуток между командами скрипта в Imacros. Например, нужно побыть на какой-то странице секунд 30 для имитации ее чтения, а потом перейти на другую

TAB CLOSEALLOTHERS Закрыть все вкладки.

CLICK X=411 Y=133 Команда клика по координатам. В том случае, когда названия ссылок меняются а место остается одно и тоже. Когда адрес ссылки динамический и постоянно меняется,
А вот тут можно прямо на сайте узнать координаты любой точки на мониторе
http:// usefulscript.ru/ cursor_position.php

SET !REPLAYSPEED FAST/MEDIUM/SLOW  Скорость воспроизведения макроса (быстро/нормально/медленно):

!CLIPBOARD — вставка текста с буфера обмена. Очень полезная команда, когда делаешь рассылку объявлений в группы. Позволяет записывать макрос для всех групп, а необходимый текст менять перед запуском макроса путем простого копирования в буфер.

‘ — после этого знака можно комментировать свои действия.

‘Если макрос наткнется на ошибку он по умолчанию остановится.
SET !ERRORIGNORE YES ‘Пропускать ошибки.
SET !ERRORIGNORE NO ‘Остановить макрос при ошибке. По умолчанию.

 

Работа с вкладками.
TAB T=1 ‘Активная вкладка.
TAB T=2 ‘Следующая вкладка.
TAB T=0 ‘Предыдущая вкладка.
TAB OPEN ‘Открыть новую вкладку.
TAB CLOSE ‘Закрыть текущую вкладку.
TAB CLOSEALLOTHERS ‘Закрыть все вкладки, кроме активной.
REFRESH ‘Обновить вкладку.

‘Пробел, перенос строки.
<SP> ‘Пробел. Так же можно оставить обычный пробел, если содержимое взять в двойные кавычки. «Вот так».
<BR> ‘Перенос на новую строку. Тут кавычки не помогут. Только <BR>

‘Создание переменной.
SET q 15 ‘Создаст ‘q’ со значением ’15’.
SET text «hi hi» ‘Создаст ‘text’ со значением ‘hi hi’.

‘Использование переменной. Чтобы использовать переменную, её необходимо взять в фигурные скобки.
TAG POS=1 TYPE=* ATTR=* CONTENT={{text}} ‘Вставит значение ‘hi hi hi’

‘Работа с файлами. Файлы и папки автоматически создаются/заменяются.
SAVEAS TYPE=EXTRACT FOLDER=D:\ FILE=1.txt ‘Сохранить значение EXTRACT в файл 1.txt
FILEDELETE NAME=D:\data\file.csv ‘Удалить файл.
SET !DATASOURCE D:\Акки.txt ‘С каким файлом макрос будет работать.
SET !DATASOURCE_LINE 1 ‘Номер линии, с какой будем брать данные.
TAG POS=1 TYPE=* ATTR=* CONTENT={{!COL1}} ‘Если содержимое из файла нужно вставить.
URL GOTO={{!COL1}} ‘Если содержимое — это ссылка.

SET !DATASOURCE_COLUMNS 7 - Сколько полей из документа следует использовать для выборки. В данном случае это будет число семь.
SET !LOOP 1 - Чтобы указать номер строки, с которой следует начать выборку.
CONTENT={{!COL3}} - Следующая команда дает понять скрипту, из какой строки документа в данный момент делается выборка.В данный момент из третьей строки документа.

Важное примечание для пользователей Windows: Если вы используете в качестве строк кириллический текст, советую вам использовать для создания таких файлов программу Notepad++ и сохранять файл в кодировке UTF-8 без BOOM.
Именно так вы добьетесь корректного постинга текстов на кириллице. Иначе у вас могут возникнуть проблемы с кодировкой. И вместо нормального текста там будут «крякозабы».

Хочу прокомментировать отдельно один момент. Я делаю выборку из тестового файла с разделителями в виде запятых. Я это делаю потому, что стандартный способ выборки из .csv файла давал множество глюков и брал данные не из заданных столбцов, а откуда вздумается. Глюки наблюдались при большом количестве столбцов и текста для импорта. Единственный минус способа, использованного мной — это не возможность постить текст с запятыми, так как они являются разделителями. 

‘Извлечение данных.
TAG POS=1 TYPE=* ATTR=* EXTRACT=TXT ‘Извлекает текст.
TAG POS=1 TYPE=* ATTR=* EXTRACT=HREF ‘Извлекает ссылку.
TAG POS=1 TYPE=* ATTR=* EXTRACT=HTM ‘Извлекает код элемента.
TAG POS=1 TYPE=* ATTR=* EXTRACT=TITLE ‘Тега title.
SET !EXTRACT_TEST_POPUP YES ‘Выводить на экран извлеченные данные. По умолчанию.
SET !EXTRACT_TEST_POPUP NO ‘Не выводить на экран извлеченные данные.
SET !EXTRACT NULL Обнуление значения переменной EXTRACT

‘Пауза. Длится, пока вы не нажмете кнопку «Продолжить».
PAUSE

‘Время ожидания.
WAIT SECONDS=60
WAIT SECONDS=30.231241242
SET !TIMEOUT=5 ‘Время ожидания загрузки сайта. Только целые числа.
SET !TIMEOUT_STEP=5 ‘Время ожидания отклика процесса на сайте. Только целые числа.

‘Работа с прокси. 
 PROXY ADDRESS=proxy:port

‘Нажатие клавиш.
EVENT TYPE=KEYPRESS SELECTOR=* KEY=13 ‘Нажатие клавиши Enter.
EVENTS TYPE=KEYPRESS SELECTOR=* KEYS=[8,8] ‘Два раза нажимает Backspace.

Клавиша Номер Клавиша Номер Клавиша Номер
Backspace 8 E 69 NumPad 9 105
Tab 9 F 70 NumPad * 106
Enter 13 G 71 NumPad + 107
Shift 16 H 72 NumPad — 109
Ctr 17 I 73 NumPad . 110
Alt 18 J 74 NumPad / 111
Pause 19 K 75 F1 112
CapsLock 20 L 76 F2 113
Es 27 M 77 F3 114
Space 32 N 78 F4 115
PageUp 33 O 79 F5 116
PageDown 34 P 80 F6 117
En 35 Q 81 F7 118
Hom 36 R 82 F8 119
Стрелка влев 37 S 83 F9 120
Стрелка ввер 38 T 84 F10 121
Стрелка вправ 39 U 85 F11 122
Стрелка вни 40 V 86 F12 123
Inser 45 W 87 NumLock 144
Delete 46 X 88 ScrollLock 145
0 48 Y 89 PrintScreen 154
1 49 Z 90    
2 50 Левая клавиша Windows 91 Meta 157
3 51 Правая клавиша Windows 92 ; 186
4 52 Клавиша Applications 93 = 187
5 53 NumPad 0 96 , 188
6 54 NumPad 1 97 189
7 55 NumPad 2 98 . 190
8 56 NumPad 3 99 / 191
9 57 NumPad 4 100 ~ 192
A 65 NumPad 5 101 [ 219
B 66 NumPad 6 102 \ 220
C 67 NumPad 7 103 ] 221
D 68 NumPad 8 104 222