Переменные
!CLIPBOARD
Переменная !CLIPBOARD— работа с буфером обмена. Команда доступна в iMacros для Firefox
начиная с версии 6.2.2.0 и более поздних и iMacros Browser v7. В
качестве значения принимается любое допустимое содержимое буфера
обмена. Позволяет работать с буфером обмена как с промежуточным хранилищем или источником данных, и использовать его содержимое для назначения других переменным. Работает в: Задается:✓ Внутренняя переменная Примеры:Копирование данных из буфера обмена на веб-сайт: URL GOTO=http://www.iopus.com/imacros/demo/v6/f1/form.asp TAG POS=1 TYPE=TEXTAREA ATTR=NAME:Remarks CONTENT=Clipboard<SP>content<SP>=<SP>{{!CLIPBOARD}} Копирование данные, извлеченныч с сайта в буфер обмена: URL GOTO=http://www.iopus.com/imacros/demo/v6/extract2/ TAG POS=1 TYPE=TD ATTR=CLASS:bdytxt&&TXT:* EXTRACT=TXT SET !CLIPBOARD {{!EXTRACT}} Примечание:
|
!COLn
Переменная iMacros !COLn Переменная !COL(n - обязательное значение) служит для указания стобца в строке получаемой из источника данных. Переменная !COL1 указывает на выбор первого столбца в строке данных.. Меняйте 1 на любое другое
число, в зависимости от того, какой столбец вам надо вытащить из строки.
Даже если вы не знаете сколько столбцов определено в строке файла данных, а
отдельные данные находятся на разных строках, то обязательно нужно
использовать переменную !COL1. Частный случай использования переменную !COL1 - получение данных, которые в файле-источнике сохранены в кавычках. ( Запись "Demo" переменная !COL1 перередаст в макрос , как Demo )
Работает в: Вместо n может быть использовано любое целое, положительное число больше 0 и меньше !DATASOURCE_COLUMNS (количество колонок в строке файла-источника). Задается:× Внутренняя переменная Пример:В примере файл example.csv содержит «Имя» в первом (извлекается при помощи переменной !COL1 iMacros) и «Фамилию» во втором (!COL2) столбце. На сайт мы хотим вставить эти значения в соответствующие поля. SET !DATASOURCE example.csv SET !DATASOURCE_LINE {{!LOOP}} URL GOTO=http://www.some_input.com/enter_name.html TAG POS=1 TYPE=INPUT:TEXT FORM=form1 ATTR=NAME:first_name CONTENT={{!COL1}} TAG POS=1 TYPE=INPUT:TEXT FORM=form1 ATTR=NAME:last_name CONTENT={{!COL2}}
|
!DATASOURCE
Переменная iMacros !DATASOURCE Переменная !DATASOURCE iMacros задает имя и расположение файла, данные из которого служат источником для макроса. Если папка не указана, тогда предполагается, что файл находится в стандартном каталоге iMacros, обычно это: %Имя_пользователя%\Documents\iMacros\Datasources\. В качестве значения, которое принимает команда, является существующее имя и путь исходного файла. iMacros умеет читать данные не только из текстовых файлов, в формате .csv и .txt, но и текстовых файлов, со столбцами данных, сохраненных с расширением json.( результат работы пользовательских js ). Работает в: Задается:× Внутренняя переменная Примеры с !DATASOURCE iMacros:Самый простой пример использования переменной !DATASOURCE вместе с командой SET: SET !DATASOURCE C:\мойфайл.txt Если в пути к файлу содержатся пробелы, тогда можно все значение окружить двойными кавычками, однако в этом случае все обратные слешы должны быть продублированы, как в примере ниже: SET !DATASOURCE "C:\\Моя iMacros папка\\мойфайл.txt" В качестве альтернативы предыдущему способу, можно все пробелы в пути заменить на <SP>, тогда не нужно использовать двойные кавычки, и дублирование обратных слешей: SET !DATASOURCE C:\Моя<SP>iMacros<SP>папка\мойфайл.txt Так же можете посмотреть пример макроса: Demo-Datasource.iim Примечания:
!DATASOURCE COLUMNSПеременная !DATASOURCE_COLUMNS iMacros задает количество столбцов в
файле, из которого считывается информация. В качестве значения принимает
положительное целое число. Работа с колонками подробнее описана в статье !COLn . Примечание:
Работает в: Задается:× Внутренняя переменная Пример:SET !DATASOURCE_COLUMNS 3
!DATASOURCE DELIMITERПеременная !DATASOURCE_DELIMITER iMacros позволяет переопределить символ, используемый для разграничения данных (столбцов) в вашем входном файле CSV или TXT. Значением по умолчанию является запятая (,), но можно встретить знаки: точка (.), точка с запятой (;), знак доллара ($) или процента (%). Работает в: Задается:× Внутренняя переменная Примечания:
Пример:SET !DATASOURCE_DELIMITER ; SET !DATASOURCE C:\мойфайл.txt !DATASOURCE LINEПеременная !DATASOURCE_LINE iMacros определяет строку в файле с данными, которая используется для получения информации. В качестве значения допускается положительное целое число. Работает в: Задается:× Внутренняя переменная Пример:Код ниже показывает как можно при помощи переменной !LOOP изменять строку для считывания данных из !DATASOURCE , при запуске через цикл: SET !DATASOURCE_LINE {{!LOOP}}
|
!DOWNLOADED
Группа переменных DOWNLOADED iMacros используется для работы со скачиваемыми файлами. Можно определять имя и место загружаемого файла, для этого используется переменная !DOWNLOADED_FILE_NAME. А при помощи !DOWNLOADED_SIZE в iMacros можно определить размер скачиваемого файла, который записывается в байтах. Подробнее про каждую переменную читайте ниже. !DOWNLOADED_FILE_NAMEПеременная содержит каталог и имя загруженного файла. Следует использовать в тот момент, когда загрузка завершена. Для этого используйте переменную после команды, которая запускает загрузку, и убедитесь, что значение тайм-аута загрузки (!TIMEOUT_DOWNLOAD) достаточно длинное, чтобы покрыть полное время загрузки. Параметр WAIT в команде ONDOWNLOAD должен быть установлен в YES (WAIT = YES). Работает в: Задается:× Внутренняя переменная Примеры:Скопируйте место загрузки и имя файла во встроенную переменную !EXTRACT: ADD !EXTRACT {{!DOWNLOADED_FILE_NAME}} Отображение содержимого встроенной переменной: ONDOWNLOAD FOLDER=* FILE=* WAIT=YES TAG POS=3 TYPE=A ATTR=TXT:Скачать PROMPT {{!DOWNLOADED_FILE_NAME}} !DOWNLOADED_SIZEСодержит размер в байтах загруженного файла. Переменную следует использовать в тот момент, когда загрузка завершена. Для этого используйте переменную после команды, которая запускает загрузку, и убедитесь, что значение тайм-аута загрузки (!TIMEOUT_DOWNLOAD) достаточно длинное, чтобы покрыть полное время загрузки. Параметр WAIT в команде ONDOWNLOAD должен быть установлен в YES (WAIT = YES). Работает в: Задается:× Внутренняя переменная Примеры:Скопируйте загруженный размер файла в байтах в встроенную переменную !EXTRACT: ADD !EXTRACT {{!DOWNLOADED_SIZE}} Отображение содержимого встроенной переменной: ONDOWNLOAD FOLDER=* FILE=* WAIT=YES TAG POS=3 TYPE=A ATTR=TXT:Скачать PROMPT {{!DOWNLOADED_SIZE}} |
!ENCRYPTION
Переменная iMacros !ENCRYPTION Переменная !ENCRYPTION задает способ шифрования паролей, которые используются в макросах. Применяется только к значениям полей с типом = пароль (password). Поле пароля — это те поля, где слова отображаются с помощью звездочек (*). Установка этой переменной в макросе перезапишет настройки на вкладке Параметры (Options) -> Безопасность (Security tab).
Примечания:
Cинтаксис:SET !ENCRYPTION NO|STOREDKEY|TMPKEY Работает в: Задается:× Внутренняя переменная Примеры:Если вы хотите разблокировать пароли с использованием мастера-пароля: SET !ENCRYPTION TMPKEY
Или же хотите вручную ввести все пароли (записаны в маросе в незашифрованном виде), используйте: SET !ENCRYPTION NO
|
!ERRORIGNORE
Переменная iMacros !ERRORIGNORE Если переменная !ERRORIGNORE установлена со значением YES, тогда iMacros будет игнорировать возникающие ошибки. Макрос продолжает выполняться, даже если одна или несколько команд не смогли бвть выполнены. Принимаемые значения: YES | NO. Совет: Эту переменную можно использовать для того, чтобы iMacros пропускал несуществующие элементы страницы (TAG), с ее помощью можно сократить время ожидания невидимого / несуществующего на странице TAG элемента , обработка которого записана в макросе. По умолчанию 6 секунд. Чтобы изменить время ожидания, используйте !TIMEOUT_STEP. Работает в: Синтаксис:SET !ERRORIGNORE YES
Задается:× Внутренняя переменная Пример:Использование переменной !ERRORIGNORE iMacros для пропуска ошибок в части кода: SET !TIMEOUT_STEP 1 SET !ERRORIGNORE YES 'Команды которые иногда не работают (элементы не найдены) TAG... TAG... 'Возвращаем значения по умолчанию SET !ERRORIGNORE NO SET !TIMEOUT_STEP 6 |
!EXTRACT
Переменная iMacros !EXTRACT Переменная !EXTRACT cодержит результаты извлечения информаци, полученный при помощи TAG + EXTRACT. Если в одном макросе используется несколько раз команда EXTRACT, результаты отделяются друг от друга строкой «[EXTRACT]». Данная строка автоматически заменяется на запятую во время сохранеия (SAVEAS TYPE=EXTRACT). Если извлекается таблица целиком, то соседние элементы таблицы отделяются друг от друга строкой «#NEXT#», а строки таблицы разделяются строкой «#NEWLINE#». Эти теги автоматически заменяются запятой и переводом строки при использовании команды SAVEAS. Содержит результат извлечения или «#EANF#» (если неудалось найти элемент). Работает в: Задается:✓ Внутренняя переменная Примеры:Заполняет значением переменной !EXTRACT полей формы: TAG .... CONTENT={{!EXTRACT}}
Скопировать извлеченные данные в буфер обмена: SET !CLIPBOARD {{!EXTRACT}}
Сбросить / обнулить содержимое переменной: SET !EXTRACT NULL
Добавить значение первого столбца CSV файла к уже полученному результату: ADD !EXTRACT {{!COL1}}
|
!FOLDER
Переменная iMacros !FOLDER Переменные iMacros типа !FOLDER используются для чтения, задания и переопределения папок для различных файлов и команд. !FOLDER_DATASOURCEВозвращает / задает папку, из которой считываются входные файлы. Установка переменной имеет смысл, если несколько макросов совместно используют папку с исходными файлами, для разделения необходимых файлов для каждого макроса. Работает в: По умолчанию папка «Datasource» находится внутри папки «iMacros». Задается:× Внутренняя переменная Пример:SET !FOLDER_DATASOURCE c:\Моя<SP>папка<SP>с<SP>файлами\
!FOLDER_DOWNLOADПеременная возвращает / задает папку, в которую сохраняются файлы, загружаемые во время работы макроса. Устанавливать данную переменную целесообразно не изменяя глобальные настройки. Переменная изменяется (переписывается) только на время выполнения макроса. Работает в: По умолчанию папка «Download» находится внутри папки «iMacros». Задается:✓ Внутренняя переменная Пример:SET !FOLDER_DOWNLOAD c:\Моя<SP>папка<SP>для<SP>скачивания\
!FOLDER_LOGДанная переменная возвращает / устанавливает папку, в которой iMacros хранит необходимые файлы журнала (лога). Заданное значение переменной используется только в выполняемом макросе, не изменяя глобальные настройки. Работает в: По умолчанию папка «Log» находится внутри папки «iMacros». Задается: ✓ Внутренняя переменная Пример:SET !FOLDER_LOG c:\Логи<SP>выполнения<SP>макроса\
!FOLDER_MACROSВозвращает папку, в которой хранятся макросы. Переменная используется только для считывания. Работает в: По умолчанию папка «Macros» находится внутри папки «iMacros». Задается:✓ Внутренняя переменная Пример:Совместно с использованием команды ONDOWNLOAD: ONDOWNLOAD FOLDER={{!FOLDER_MACROS}} FILE=* WAIT=YES !FOLDER_STOPWATCHУстанавливает папку, в которую будет сохраняться файл, содержащего данные измерений «секундомера» (STOPWATCH). По умолчанию имя файла: performance_macroname.csv, который находится в папке для скачанных файлов, внутри папки «iMacros». В качестве значения допускается реальное местоположение выходного файла или NO (нет). Работает в: Задание переменной !FOLDER_STOPWATCH как NO указывает iMacros не создавать файл для записи данных команды STOPWATCH. Используйте !FOLDER_STOPWATCH NO, если вам не нужен файл журнала времени загрузки, если вы извлекаете значения в JavaScript с помощью iimGetStopwatch. Также можно задать другое имя для файла «секундомера» с помощью !FILESTOPWATCH. Если в !FILESTOPWATCH задан путь, содержащий папку, но без указания буквы диска (задан не полный путь), то для определения местоположения файла, !FILESTOPWATCH будет объединена со значением !FOLDER_STOPWATCH. Если во время выполнения макроса папка не существует, она будет создана. Примечание: iMacros для Firefox остановится с ошибкой, если папка еще не существует. Задается:× Внутренняя переменная Примеры:Использование !FOLDER_STOPWATCH совместно с !FILESTOPWATCH: SET !FOLDER_STOPWATCH c:\Users\iMacros SET !FILESTOPWATCH "Моя папка\\Файл секундомера.txt" В результате файл запишется в «c:\Users\iMacros\Моя папка\Файл секундомера.txt». Обратите внимание, что если при указании путь используются обратные слешы, они должны быть экранированы. Альтернативный вариант: SET !FOLDER_STOPWATCH c:\Users\iMacros\Моя<SP>папка Запишется в «c:\Users\iMacros\Моя папка\performance_macroname.csv». |
!LOOP
Переменная iMacros !LOOP Переменная !LOOP хранит в себе текущий номер повторения цикла (итерации), при запуске в циклическом режиме воспроизведения Play (Loop). Особенно полезно применение совместно с атрибутом POS команды TAG Работает в: Синтаксис:SET !LOOP n
Задается:× Внутренняя переменная Важно: Устанавливая количество повторов следует учитывать, что отсчёт начинается с первой строки. То есть, при установленных значениях !LOOP 11 и количестве повторов 100, скрипт переберёт строки файла-источника с 11 по 100, выполнив 90 повторов. Пример соответствующего макроса: Demo-Slideshow. Примечание: Переменную !LOOP нельзя задать в теле макроса с использованием интерфейса сценариев (iimPlay). Количество циклов (повторов) можно установить только непосредственно из боковой панели воспроизведения макроса (Повторить макрос ) или из командной строки с помощью ключа -loop. Чтобы задать количество повторов макроса с использованием интерфейса сценариев, пользователь должен настроить цикл, используя любую конструкцию цикла, подходящую для используемого языка программирования, и передать макросу собственную определенную пользователем переменную цикла. |
!NOW
Переменная iMacros !NOW Переменная !NOW cодержит текущее время и дату. Используется для формирования даты, времени. Во время формировании переменной вы можете использовать форматы указанные ниже, написанные через двоеточие (:). Работает в: Синтаксис:!NOW:формат_записи
Формат записи:Код формата чувствителен к регистру. Формат может содержать пробелы, но убедитесь, что вы используете сочетание вместо пробела.
Примечание:
Задается:× Внутренняя переменная Примеры:В примерах ниже предполагается что переменая !NOW iMacros содержит дату 25-го мая 1980 года, 4:35:00 утра: !NOW:ddmmyy_hhnnss Результат: 25051980_043500 !NOW:yyyy-mm-dd hhч nnмин Результат: 1980-05-25 04ч 35мин Замечу, использование переменных в iMacros всегда требует двойных фигурных скобок. Вот полный пример использование переменной NOW в макросе: VERSION BUILD=7361445 TAB T=1 TAB CLOSEALLOTHERS URL GOTO=http://www.amazon.com/ TAG POS=1 TYPE=INPUT:TEXT FORM=NAME:site-search ATTR=ID:twotabsearchtextbox CONTENT="{{!NOW:yyyy/mm/dd_hhnn}} пример"
|