Команды

iimGetExtract

Отправлено 4 июн. 2020 г., 08:23 пользователем Норрин Радд   [ обновлено 19 нояб. 2020 г., 13:28 ]

Возвращает содержимое переменной !EXTRACT. Если последней командой была iimPlay и если EXTRACT используется внутри макроса, iimGetExtract возвращает извлеченный текст.
Если команде EXTRACT не удалось найти привязку извлечения, то возвращается сообщение
# EANF # (привязка извлечения не найдена). Если в макросе, который только что был воспроизведен, нет команды EXTRACT, iimGetExtract возвращает пустую строку ("").

Если в одном макросе появляется несколько команд EXTRACT, результаты разделяются строкой [EXTRACT]. Если полные таблицы извлечены, соседние элементы таблицы разделяются строкой # NEXT #, а концы строк таблицы отделяются строкой # NEWLINE #.

Работает в: iMacros Browser icon Internet Explorer icon Mozilla Firefox icon Google Chorme icon

String extract = iimGetExtract ( [int index_of_extracted_text]   )

Параметры:

Начиная с версии 6, эта команда поддерживает возможность возвращать извлеченную информацию отдельно, поэтому дальнейший анализ и действия для разделения не требуются:

iimGetExtract() - возвращает всю извлеченную информацию сразу с к
каждым элементом, отделенным строкой [EXTRACT]


iimGetExtract(0) - возвращает всю извлеченную информацию сразу с каждым
элементом, отделенным строкой [EXTRACT]


iimGetExtract(1) - возвращает первые извлеченные данные

iimGetExtract(2) - возвращает 2-ые извлеченные данные (и т.д.)

Примеры:

Показать извлеченные даные  (пример скрипта Visual Basic):

Dim imacros, iret 
Set imacros = CreateObject("imacros") 
iret = imacros.iimInit() 
iret = imacros.iimPlay("myextractmacro") 
MsgBox "The extract was: "+ vbNewline + _ 
  imacros.iimGetExtract() 
iret = imacros.iimExit()


ADD

Отправлено 25 мая 2020 г., 15:06 пользователем Норрин Радд   [ обновлено 26 мая 2020 г., 13:59 ]

Команда iMacros ADD

Команда ADD предназначается для добавления значения к переменной (в данном случае речь идет о математической операции). Один из способов применения в iMacros —  вычитание значения, достигается путем добавления отрицательного значения к переменной. Однако, если переменная задана как строка, а не числом, то значение не добавляется, а «приклеивается» к нужной строке. Команда ADD поддерживает встроенные переменные !VAR1, !VAR2, !VAR3 и !EXTRACT.

Работает в: iMacros Browser icon Internet Explorer icon Mozilla Firefox icon Google Chorme icon

Синтаксис:

ADD результирующая_переменная добавляемое_значение

Параметры:

  • результирующая_переменная
    В качестве данного параметра рекомендуется применять одну из четырех встроенных переменных (!VAR1, !VAR2, !VAR3 и !EXTRACT). После выполнения команды эта переменная будет содержать конечный результат.
  • добавляемое_значение
    Значение, которое будет добавлено к результирующая_переменная.

Примеры:

Если оба значения являются числами, поэтому результатом выполнения команды iMacros ADD является число, результат записан в !VAR1:

SET !VAR1 100 
ADD !VAR1 -20 
'Значение !VAR1 = 80

Если хотя бы одно из значений является строкой, тогда результатом работы будет строка:

SET !VAR1 Hello
ADD !VAR1 <SP>World<SP>
'Или ADD !VAR1 " World "
ADD !VAR1 2015
'Значение !VAR1 = Hello World 2015

*
(<SP> — знак пробела, либо нужно использовать кавычки)

Извлекаемые данные можно добавить в встроенную переменную !EXTRACT:

ADD !EXTRACT {{!COL1}}

BACK

Отправлено 25 мая 2020 г., 15:04 пользователем Норрин Радд   [ обновлено 25 мая 2020 г., 19:26 ]

Команда iMacros BACK

Команда iMacros BACK выполняет следующую  функцию, она открывает предыдущую посещенную страницу из истории браузера. По сути BACK в iMacros заменяет нажатие кнопки Назад в браузере. После выполнения данной команды сайты не сможет определить что Назад вызывает макрос, а не пользователь, кликая мышкой.

Работает в: iMacros Browser icon Internet Explorer icon Mozilla Firefox icon Google Chorme icon

Синтаксис:

BACK

Пример:

Макрос сохраняет в переменную !VAR1 текущий URL-адрес страницы, затем выполняется команда BACK. На открывшейся странице производятся необходимые манипуляции, в конце скрипт возвращается на первоначальную страницу, записанную в !VAR1 при помощи команды URL GOTO:

SET !VAR1 {{!URLCURRENT}}
BACK
'другие команды
URL GOTO={{!VAR1}}

CLEAR

Отправлено 25 мая 2020 г., 15:03 пользователем Норрин Радд   [ обновлено 25 мая 2020 г., 19:47 ]

Команда iMacros CLEAR

Команда CLEAR очищает кэш и удаляет все куки в браузере. Она может быть полезна, например, если вам нужно очистить данные сайтов (cookies), после её применения , при повторном заходе на сайт, сайт вас не "узнает", вы для него будете как новый пользователь.

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

* Надо учитывать, что команда удалит данные всех сайтов, с которыми вы работали.

Работает в: iMacros Browser icon Internet Explorer icon Mozilla Firefox icon Google Chorme icon

Синтаксис:

CLEAR

Пример:

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

CLEAR
SET !FILESTOPWATCH mydata.csv
STOPWATCH ID=total
URL GOTO=http://www.imacros.org
STOPWATCH ID=total

Примечание:

  • Начиная с версии 7.51 в iMacros Browser, CLEAR работает правильно, немного изменилось поведение в расширении iMacros для IE. Раньше команда выполнялась так же, как в Internet Explorer кнопка Удалить Cookies из пункта меню, а сейчас она работает как в Mozilla Firefox Удаление данных сессии (кэш и всех кук).

CLICK

Отправлено 25 мая 2020 г., 15:02 пользователем Норрин Радд   [ обновлено 25 мая 2020 г., 19:57 ]

Команда iMacros CLICK

«Клик» (нажатие / CLICK) по любому HTML-элементу, по заданным X / Y координатам. Начальное положение системы координат находится в левом верхнем углу страницы. Ось X положительно направлена вправо, ось Y соответственно вниз. Рекомендуется применять данную команду в скриптах iMacros только если все прочие способы не работают.

Для записи командной CLICK установить Recording mod в положение Use X/Y position, для этого зайдите на вкладку Запись или Rec нажмите кнопку Record options.

Работает в: Mozilla Firefox icon

Синтаксис:

CLICK X=n Y=m

Параметры:

  • X
    Задает значение координаты X (по горизонтали) элемента сайт, на который мы хотим нажать.
  • Y
    Задает значение координаты Y (по вертикали) элемента сайт, на который мы хотим нажать.

Пример:

В данном примере при помощи iMacros команды CLICK реализуется выбор яблочного пирога на десерт:

URL GOTO=http://demo.imacros.net/Automate/TestForm1
CLICK X=316 Y=453

Примечание:

  • Команду CLICK часто путают с DS CMD=CLICK, которая предназначена для работы с Flash, Silverlight и другими объектами, однако также она может работать и с HTML.

DS

Отправлено 25 мая 2020 г., 15:00 пользователем Норрин Радд   [ обновлено 25 мая 2020 г., 20:08 ]

Команда iMacros DS (DirectScreen)
Команда DS (DirectScreen) используется, когда остальные команды не справляются! Она имитирует обычный «клик» мыши в окне браузера. Чтобы активировать данную технологию, необходимо во время записи, нажмите на кнопку Click Mode и в появившемся диалоговом окне выберите Use DirectScreen Commands.

Обычно DS в iMacros используется для автоматизации работы с веб-страницами, которые содержат не HTML элементы, а «сложные» технологии, такие как Java applets, Adobe Flash, Adobe Flex, Microsoft Silverlight или ActiveX контроль. Также можно автоматизировать даже самый сложный сайт, основанный на AJAX.

Работает в: iMacros Browser icon Internet Explorer icon

Flash приложение симуляции калькулятора на картинке ниже.
iMacros в работе

Пример сложного (нестандартного) JavaScript — всплывающее диалоговое окно, которое лучше автоматизированной с помощью DirectScreen.

DirectScreen mode

Запись DirectScreen команды:

При работе не с HTML технологиями, такими как Flash, Java или другими, в стандартном режиме, iMacros не может записать действия. Чтобы записать макрос на Flash или Java applet, вы должны активировать технологию DirectScreen, для этого необходимо:

  1. Нажмите кнопку Click Mode
    Команда iMacros DS
  2. В открывшемся окне выберите Use Direct Screen Commands …
  3. Теперь можете записывать необходимые действия

iMacros записывает действия клавиатуры и мыши, записывается много DS и WAIT команд (в зависимости от сложности выполняемых действий). Далее объясняется, почему.

Как определить координаты?

Есть несколько способов определения координат для команды DirectScreen:

1. Абсолютное значение (жесткая привязка к осям):

DS CMD=MOVETO X=455 Y=224

2. Центр HTML элемента. Элемент берется с предыдущей команды TAG. Свойство особенно полезно для использования с AJAX элементами.

DS CMD=MOVETO X={{!TAGX}} Y={{!TAGY}}

3. Центр изображения, определяется по предыдущей команде IMAGESEARCH. Изображение может быть любым, нет ограничения по встроенными HTML изображениям.

DS CMD=MOVETO X={{!IMAGEX}} Y={{!IMAGEY}}

Почему записалось много WAIT команд?

Настройки по умолчанию:

DirectScreen iMacros
Если вы используете настройки по умолчанию, iMacros записывает действия на стандартной скорости, то есть записываются не только нажатия, но и как долго вы ждете между действиями (например, «выбор элемента», «нажатие левой кнопки мыши», «отпускание левой кнопки мыши «, и т. д.). Эти временные интервалы записываются при помощи команды WAIT, которая записывается iMacros автоматически. Таким образом, applet (втроенный скрипт или приложение) имеют достаточно времени, чтобы среагировать на ваши действия.

Если вы заметили, что applet срабатывает быстрее, вы можете попробовать сократить время ожидания путем редактирования макроса. Но обратите внимание, что applet обычно требуется некоторое время, чтобы обновиться. Как альтернатива WAIT можно использовать команду IMAGESEARCH, которая сканирует экран браузера до того, пока не появится указанное изображение (например, изображение кнопки или текст).

Ввод текста:

Когда используется режим записи команд iMacros DS, DS также записывает ввод текста с помощью команды «DS CMD=KEY». Вы можете использовать команду {BACKSPACE}, чтобы перезаписать существующий текст. Вот пример:

VERSION BUILD=6000510     
TAB T=1     
TAB CLOSEALLOTHERS     
URL GOTO=http://imacroshelp.ru/     
SIZE X=846 Y=612    
DS CMD=MOVETO X=244 Y=123   
WAIT SECONDS=0.01    
DS CMD=LDOWN X=271 Y=79   
WAIT SECONDS=0.01     
DS CMD=LUP X=271 Y=79   
WAIT SECONDS=0.01     
DS CMD=KEY X=0 Y=0 CONTENT={BACKSPACE}мой<SP>текст

Синтаксис:

DS CMD=команда X=координата Y=координата [CONTENT=некоторый_текст]

Параметры:

  • CMD
    Выполняемая команда/действие
    • Команды:
      1. CLICK
      Ведет себя как обычный «клик». Технически это сочетание команд MOVE, LDOWN, LUP и KEY.
      2. LDBLCLK
      Имитирует двойной щелчок левой кнопкой мыши. При записи с включенной опцией Record all DirectScreen commands, гарантируется правильная последовательность команд при воспроизведении. При использовании Record only mouse clicks LDBLCLK не записывается, но вы можете вручную добавить следующую последовательность команд которая имитирует двойной щелчок: LDOWN, LUP, LDBLCLK, LUP.
      3. LDOWN
      Имитирует нажатие левой кнопки мыши (нажатие и удержание).
      4. LUP
      Отпускание нажатой левой кнопки мыши (логическое продолжение команды LDOWN).
      5. MOVETO
      Перемещение указателя (кнопка нажата)
      6. MDOWN
      Имитация нажатия средней кнопки мыши (нажатие и удержание).
      7. MUP
      Отпускание нажатой средней кнопки мыши (логическое продолжение команды MDOWN).
      8. MDBLCLK
      Двойной щелчок средней кнопкой.
      9. RDOWN
      Имитация нажатия правой кнопки мыши (нажатие и удержание).
      10. RUP
      Отпускание правой кнопки.
      11. RDBLCLK
      Двойной щелчок правой кнопки.
      12. SCREENSHOT (начиная с iMacros v7!)
      Создание скриншота. Эта команда полезна для снятия скриншотов апплетов, когда нормальная функция создания скриншот не работает. Путь для сохранения скриншотов задается в атрибуте, т.е.
      DS CMD=SCREENSHOT X=380 Y=220 CONTENT=d:\data\screen1.bmp

      Координаты X/Y могут быть где угодно, но должны быть внутри области, в которой нужно сделать скриншот. Так что, если вам нужен скриншот страницы с Java-приложением, координаты должны быть где-то внутри этого приложения, в противном случае эта область останется черной. Несколько скриншотов могут быть объединены в один с помощью команды SCREENSHOTINCLUDE.

    • Действия:
      Ввод текста, нажатие клавиш на клавиатуре. Укажите текст или ключи, чтобы воспользоваться параметром CONTENT. Специальные ключи для команды KEY:
      1. {BACKSPACE}
      Удаляет один символ. Используйте повтор команды {BACKSPACE}, если надо удалить несколько символов или CONTENT=#ERASEALL#, чтобы очистить все поле.
      2. {ENTER}
      Нажатие клавиши Enter.
      Примечание: клавиши-модификаторы {SHIFT}, {CTRL} и {ALT} в настоящее время не поддерживается, а также ни {TAB}, ни {ESC}, ни другие, не упомянутые здесь.
  • CONTENT
    Определяет содержание для отправки выбранного элемента. Укажите CONTENT=#ERASEALL#, чтобы очистить все поле.
    Пример:
    DS CMD=CLICK X=411 Y=434 CONTENT=#ERASEALL#
    DS CMD=KEY X=411 Y=434 CONTENT=#ERASEALL#

EVAL

Отправлено 25 мая 2020 г., 14:57 пользователем Норрин Радд   [ обновлено 25 мая 2020 г., 20:31 ]

Команда iMacros EVAL

Команда EVAL позволяет использовать возможности JavaScript в работе iim макроса. Также команда может быть использована для простого анализа и обработки извлеченных данных.

Чаще всего к данной команде обращаются, когда использование встроенного функционала iMacros проще, чем написание кода на js или использование чистого js невозможно, но в целом на JS можно реализовать более сложные проекты.

Примеры использования:

  • Определить, если дата «старше 40 дней»;
  • Сравнить, например, обменный курс выше/ниже определенного значения;
  • Сделать небольшие преобразования строки. Извлеченный текст следующий: «US$33.33», можно удалить «US$» и получить только число перед сохранением с помощью SAVEAS TYPE=EXTRACT.

Работает в: iMacros Browser icon Internet Explorer icon Mozilla Firefox icon Google Chorme icon

Синтаксис:

SET !VAR1 EVAL("[JavaScript код]")
TAG ... CONTENT=EVAL("[JavaScript код]")

Доступен начиная с iMacros V7.5 и более поздних, дополнение iMacros для Firefox 7.4.0.1 и выше.

Параметры:

  • Строка в двойных кавычках содержит JavaScript код для выполнения.
  • Функция MacroError (errorMsg). Кроме стандартных JavaScript функций (в IE и iMacros Browser, JScript 8.0), команда EVAL имеет встроенную функцию вывода ошибок: MacroError(). MacroError принимает значение в качестве аргумента и, если выдает ошибку и iMacros error -1340, где текст ошибки является аргумент строки errorMsg. Используйте эту функцию, если вы хотите условно остановить макрос, как это делается в примере 3 ниже.

Примечания:

  • Необходимо явно вернуть окончательное значение, объявив его в конце JavaScript.
    Правильно:
    SET myVal EVAL("var x = 1; x;")
    'myVal = 1

    Неправильно:

    SET myVal EVAL("var x = 1;")
    'myVal = null
  • Можно вызвать специальную функцию MacroError (errorMsg) в Javascript, чтобы cгенерировать iMacros ошибку.
  • В спец символах нужно дублировать обратный слеш, например, \d правильно записать \\d.
  • Двойные кавычки должны быть экранированы, внешние кавычки не экранируются, так как содержат в себе Javascript код.
  • EVAL в iMacros Browser и плагине для IE использует Microsoft’s JScript 8.0 JScript .NET, framework version 3.5), есть ограничения безопасности. Как следствие, методы DOM/GUI как «compatMode()» или «alert()» не доступны. Для DOM/GUI доступа можно использовать URL GOTO с Javascript кодом (возможно данная проблема уже исправлена разработчиками).
  • iMacros для Firefox’s EVAL использует javascript встроенный в Firefox.

Примеры:

1. Случайное время задержки. Подождать случайно выбранное время (от 1 до 10 секунд), после загрузки страницы:

SET !VAR1 EVAL("var randomNumber=Math.floor(Math.random()*10 + 1); randomNumber;")
URL GOTO=http://imacroshelp.ru
' ждать от 1 до 10 секунд
WAIT SECONDS={{!VAR1}}

2. Сгенерировать случайное число в определенном диапазона:

SET randomNumber EVAL("var min = 50; var max = 100; var randomNumber = Math.floor(Math.random() * (max - min + 1)) + min; randomNumber;")

3. Получение и сравнение валют. Сохранить результат.

Сохранить EUR-ставку в долларах USD, только если она выше определенного порога (1.3 USD). Если ставка ниже, остановить макрос и выдать сообщение об ошибке:

URL GOTO=http://www.xe.com/ucc/convert/?Amount=1&From=EUR&To=USD
SET !EXTRACT_TEST_POPUP NO
TAG POS=1 TYPE=TD ATTR=TXT:*<SP>USD&&WIDTH:46%&&ALIGN:left EXTRACT=TXT
SET !VAR1 EVAL("var s = \"{{!EXTRACT}}\"; s.replace(\"USD\",\"\"); var d = parseFloat(s); if(d < 1.3){MacroError(\"Euro меньше 1.3 USD.\");} else {d};")
SET !EXTRACT NULL
SET !EXTRACT {{!VAR1}}
SAVEAS TYPE=EXTRACT FOLDER=* FILE=EuroRate.csv

4. Получение и сравнение даты/времени.

Проверить: последнее сообщение старше нескольких часов (12 часов):

CLEAR
URL GOTO=http://www.readwriteweb.com/
SET !EXTRACT_TEST_POPUP NO
TAG POS=1 TYPE=DIV ATTR=CLASS:submeta EXTRACT=TXT
SET !VAR1 EVAL("var h = 12; var s = \"{{!EXTRACT}}\"; var re = /\\w+\\s\\d{1,2},\\s\\d{4}\\s+\\d{1,2}\\:\\d{2}\\s[A|P]M/; var postDateStr = re.exec(s); var today = new Date(); var postAge = today.getTime() - Date.parse(postDateStr); var hInMilli = h*60*60*1000; if(postAge > hInMilli){MacroError(\"Сообщение старше 12 часов\");}")

5. Получить вчерашнюю дату.

Ввести текст с вчерашней датой в ISO-формате (гггг-мм-дд), месяц меняется, високосный год, и так далее. Для сегодняшней даты можно использовать команду !NOW, но ее не получится преобразовать чтобы получить вчерашнее число, EVAL решает эту проблему:

... CONTENT=EVAL("var d = new Date(); d.setDate(d.getDate() - 1); var year = d.getFullYear(); var month = d.getMonth() + 1; var day = d.getDate(); year + '-' + month + '-' + day;")

6. Получить завтрашнюю дату.

Создайте переменную с завтрашней датой в формате дд/мм/гггг:

SET tomorrow EVAL("var today = new Date(); var tomorrow = new Date(); tomorrow.setDate(today.getDate() + 1); var day = tomorrow.getDate().toString(); if (day.length < 2) {day = \"0\" + day;} var month = (tomorrow.getMonth() + 1).toString(); if (month.length < 2) {month = \"0\" + month;} var year = tomorrow.getFullYear().toString(); var dateString = day + \"/\" + month + \"/\" + year; dateString;")
PROMPT {{tomorrow}}

7. Редактировать извлеченный текст.

Преобразование текста в строку верхнего регистра:

VERSION BUILD=7400919 RECORDER=FX
TAB T=1
URL GOTO=http://android-developers.blogspot.com/2011/09/preparing-for-handsets.html
SET !EXTRACT_TEST_POPUP NO
TAG POS=1 TYPE=P ATTR=TXT:Early<SP>this<SP>year,* EXTRACT=TXT
SET !VAR1 EVAL("var s=\"{{!EXTRACT}}\"; s.toUpperCase()")
PROMPT {{!VAR1}}

Удалить первые и последние пробелы:

SET !EXTRACT "    Эта строка имеет в начале и в конце пробелы     "
' Отображается значение в кавычках со всеми пробелами
PROMPT {{!EXTRACT}}
SET trimmedValue EVAL("\"{{!EXTRACT}}\".replace(/^\\s*|\\s*$/g, \"\");")
PROMPT "{{trimmedValue}} - без пробелов!"

8. DemoEval.iim:

URL GOTO=http://www.iopus.com/imacros/demo/v7/eval.htm
SET !VAR1 EVAL("Math.floor(Math.random()*5 + 1);")
WAIT SECONDS={{!VAR1}}
SET !EXTRACT_TEST_POPUP NO
TAG POS=1 TYPE=B ATTR=TXT:* EXTRACT=TXT
SET !VAR2 EVAL("var h = 20; var s = \"{{!EXTRACT}}\"; var today = new Date(); var postAge = today.getTime() - Date.parse(s); var hInMilli = h*60*60*1000; if(postAge > hInMilli){MacroError(\"Разница во времени более 20 часов\");}else null")
SET !EXTRACT NULL
TAG POS=1 TYPE=INPUT:TEXT FORM=ID:form1 ATTR=NAME:textfield EXTRACT=TXT
SET !VAR2 EVAL("var s=\"{{!EXTRACT}}\"; var d = parseFloat(s); if((d > 99)&&(d < 101))d; else MacroError(\"Значение не в заданных пределах\");")


 

EVENT

Отправлено 25 мая 2020 г., 14:53 пользователем Норрин Радд   [ обновлено 25 мая 2020 г., 20:38 ]

Команда iMacros EVENT

Команда EVENT  — это новая команда для автоматизации управления веб-элементами, с которыми не может справиться классический TAG.  Рассмотрим, с чем данная команда может нам помочь:

  • Drag & Drop;
  • Перетаскивание ползунка;
  • Не стандартный выбор даты;
  • Динамическая drop — down область.

В частности, EVENT справляется с написанием комментариев на VK.com, в то время, как TAG там бесполезен.

Для активации режима записи эвентов, нажмите Record, затем в блоке Recording mode смените радио-баттон на Experimental event recording mode.

Работает в: iMacros Browser icon Internet Explorer icon Mozilla Firefox icon Google Chorme icon

Синтаксис:

EVENT TYPE=тип [SELECTOR|XPATH]=местоположение [BUTTON|POINT|CHAR|KEY] = [кнопка|точка|символ|кнопка] [MODIFIERS=модификатор]

Параметры:

  • TYPE
    Тип события для выполнения команды. Допускаются следующие типы:
    1. События мыши:
      • MOUSEDOWN — нажать кнопку мыши над элементом;
      • MOUSEMOVE — движение мыши над элементом;
      • MOUSEUP — кнопка мыши отпущена над элементом;
      • CLICK — клик по элементу (CLICK = MOUSEDOWN + MOUSEUP);
      • DBLCLICK — двойкное нажатие.
    2. События клавиатуры:
      • KEYDOWN — нажатие клавиши клавиатуры;
      • KEYUP — отпускание клавиши клавиатуры;
      • KEYPRESS — данное событие возникает сразу после KEYDOWN (в повседневной жизни при нажатии на любую клавишу на клавиатуре, происходят следующие действия: KEYDOWN -> KEYPRESS -> KEYUP, на русском примерно так: нажать -> нажата -> отпустить).
  • SELECTOR или XPATH
    В данном пункте необходимо локализовать элемент, над которым будем производить манипуляции, на странице. Это может быть как XPATH, так и CSS-селектор.
  • BUTTON, POINT, CHAR, или KEY
    Выбор какого либо элемента зависит от того, какой тип (TYPE) события используется. Событиям мыши необходимы BUTTON (кнопка на странице) или POINT (точка/координаты на странице). События клавиатуры: CHAR (символ) или KEY (номер клавиша на клавиатуре).

    MOUSEDOWN, CLICK и DBLCLICK нужна BUTTON (0 — по умолчанию или левая кнопка мыши, 1 — средняя кнопка мыши, 2 — вторая или правая кнопка мыши).
    MOUSEUP и MOUSEMOVE используют POINT вида «(245,186)».
    KEYDOWN, KEYUP и KEYPRESS используют CHAR (печатаемые символы, вида «п» или «Q») или KEY (непечатаемые клавиши клавиатуры, как пример стрелка вверх, вида KEY=40).

  • MODIFIER
    Комбинации CTRL, ALT, SHIFT, META. Клавиши держутся нажатыми во время событий мыши. Несколько модификаторов разделяются при помощи запятой, т.е. MODIFIERS=»ctrl,shift».

Примечание:

События клавиатуры которые используют KEY поддерживаются только в дополнении iMacros для Firefox.
EVENTS сборники собирают EVENT команды одного и того же типа и на одном целевом элементе, поэтому при перемещении мыши по пути записывается всего одна команда EVENTS, где точки, определяющие путь даны в виде списка: POINTS=»(27,154),(26,154),(25,154)».

Примеры:

URL GOTO=http://demo.imacros.net/TestPages/ForceDirectedGraph.aspx
FRAME NAME=iframeFDgraph
EVENT TYPE=MOUSEDOWN SELECTOR="HTML>BODY>svg>g:nth-of-type(10)>circle" BUTTON=0
EVENTS TYPE=MOUSEMOVE SELECTOR="HTML>BODY>svg>g:nth-of-type(10)>circle" POINTS="(559,222),(558,222),(557,222),(555,223), (554,224),(551,224)"
EVENTS TYPE=MOUSEMOVE SELECTOR="HTML>BODY>svg" POINTS="(546,227),(536,232),(534,234),(523,243),(515,255),(512,259),(510,263),(500,282),(499,285),(493,300),(492,304),(492,306),(488,321),(487,323),(487,324),(487,326),(486,327),(483,336)"
EVENTS TYPE=MOUSEMOVE SELECTOR="HTML>BODY>svg>line:nth-of-type(4)" POINTS="(481,338),(481,339)"
EVENTS TYPE=MOUSEMOVE SELECTOR="HTML>BODY>svg" POINTS="(480,340),(479,342),(475,347),(475,348)"
EVENT TYPE=MOUSEMOVE SELECTOR="HTML>BODY>svg>g:nth-of-type(10)>circle" POINT="(474,350)"
EVENT TYPE=MOUSEMOVE SELECTOR="HTML>BODY>svg" POINT="(473,351)"
EVENTS TYPE=MOUSEMOVE SELECTOR="HTML>BODY>svg>g:nth-of-type(10)>circle" POINTS="(472,353),(470,355),(469,357),(468,359),(467,360),(466,360)"
EVENT TYPE=MOUSEUP SELECTOR="HTML>BODY>svg>g:nth-of-type(10)>circle" POINT="(466,360)"

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

 URL GOTO=https://moqups.com/#!/
 EVENT TYPE=MOUSEDOWN SELECTOR="#preview-svg>svg>svg>svg>foreignObject>DIV" BUTTON=0
 EVENTS TYPE=MOUSEMOVE SELECTOR="#preview-svg>svg>svg>svg>foreignObject>DIV" POINTS="(131,254),(132,254),(134,254),(136,255),(139,256),(142,256),(147,256),(153,257),(160,257),(169,258),(190,258)"
 EVENT TYPE=MOUSEMOVE SELECTOR="#containment" POINT="(204,257)"
 EVENT TYPE=MOUSEUP POINT="(386,254)"

EXTRACT

Отправлено 25 мая 2020 г., 14:50 пользователем Норрин Радд   [ обновлено 30 авг. 2020 г., 17:20 ]

Параметр iMacros EXTRACT

Параметр EXTRACT является частью команды TAG. Основной функцией данного параметра является извлечение данных из сайта. Используйте атрибут ATTR для определения той части, которую необходимо извлечь. Обычно эта часть генерируется с помощью мастера извлечения (Extraction Wizard). Параметр EXTRACT ищет исходный HTML код веб-сайта для н-го появления ATTR и извлекает его. ATTR всегда должен заканчиваться шаблонизатором (*).

Если несколько команд с EXTRACT выполняются в одном макросе, то результаты отделяются друг от друга строкой «[EXTRACT]». При сохранении извлеченных данных («SAVEAS TYPE=EXTRACT») эта строка автоматически заменяется на перевод на новую строку.

Если извлекается таблица целиком, то соседние ячейки таблиц отделяются друг от друга строкой «#NEXT#», а строки таблицы разделяются строкой «#NEWLINE#». Эти спец-теги автоматически заменяются запятой и переводом строки соответственно, когда вы используете команду «SAVEAS TYPE=EXTRACT», но разделители сохраняются при возврате данных в скрипт через вызов функции iimGetLastExtract(). Если извлекаемая таблица содержит вложенные таблицы, то данные внутренней таблицы также будут разделены «#NEXT#» и «#NEWLINE#» .

Работает в: iMacros Browser icon Internet Explorer icon Mozilla Firefox icon Google Chorme icon

Синтаксис:

TAG ... EXTRACT=значение

Значение параметра EXTRACT команды TAG:

  • TXT
    Обычное извлечение текста, содержит все внутренние HTML-теги, если они есть.
    При использовании раскрывающегося (drop-down) списка (выберите элемент), извлекается выбранная (видимая) запись.
  • TXTALL
    Для использования с раскрывающимся списком (выберите элемент), извлекаются все записи из списка.
  • HTM
    Извлекается HTML-код выбранного элемента. Примечание: В iMacros Browser и IE HTML-теги всегда возвращаются в верхнем регистре. Таким образом, «<b>Тест</b>» извлекается как «<B>Тест</B>».
  • HREF
    URL-ссылка выбранного элемента.
  • ALT
    Альтернативный текст выбранного изображения.
  • TITLE
    Title атрибут элемента, например текст всплывающей подсказки.
  • CHECKED
    Состояние флажка (checkbox) или радиокнопки (radiobutton). Возвращает «true», когда флажок установлен, в противном случае «false».

Примечание: при извлечении текста из поля ввода (команда TAG содержит «TYPE=INPUT»), не должно быть параметра CONTENT.

Извлечение нестандартных атрибутов:

В новых версиях iMacros for Firefox и iMacros Browser, вы можете извлечь любой атрибут. Если вы хотите знать, какие атрибуты доступны, записывайте команду TAG в экспертном режиме.

Примеры:

Как правило, всплывающие подсказки определяется атрибутом TITLE элемента. Вы можете извлечь содержимое всплывающей подсказки с помощью EXTRACT iMacros:

TAG POS=3 TYPE=TD ATTR=TXT:* EXTRACT=TITLE

qTip подсказка в JavaScript фреймворке JQuery  используется не стандартный «title», а дополнительный атрибут с названием «data-qtip»:

TAG POS=1 TYPE=TD ATTR=data-qtip:ComputerName=* EXTRACT=data-qtip

ComputerName=* — начальная неизменная часть подсказки и используется для определения всплывающей подсказки которая должна быть извлечена. Запись в Expert Mode создаст команду TAG, которая состоит из всех атрибутов щелкнутого (выбранного) HTML-элемента.

FILEDELETE

Отправлено 25 мая 2020 г., 11:19 пользователем Норрин Радд   [ обновлено 25 мая 2020 г., 20:50 ]

Команда iMacros FILEDELETE

Команда FILEDELETE удаляет файл с заданным именем. Если в имени не указан каталог, предполагается что файл лежит в стандартном каталоге iMacros Downloads (по умолчанию: \iMacros\Downloads). Можно задать абсолютный путь к файлу лежащему в другой папке.

Работает в: iMacros Browser icon Internet Explorer icon Mozilla Firefox icon 

Синтаксис:

FILEDELETE NAME=название_файла

Параметры:

  • NAME
    Название файла или путь к файлу который будет удален.

Примечания:

  • В iMacros Browser и Internet Explorer, указывается путь относительно папки загрузки (например, Extracts\myTable.csv).
  • Название файла может быть задано в двойных кавычках (если есть пробелы в пути, например). В этом случае, обратные слешы должны быть экранированы от другого обратного слеша (так, «C:\\Мои документы\\temp.txt»).
  • Если двойные кавычки не используются, а в названии есть пробелы, то они должны быть заменены символами: <SP>

Пример:

Примар правильного задания файлов, в пути которых есть названия папок с пробелами (в данном случае есть папка «data folder»):

FILEDELETE NAME=d:\data<SP>folder\file.csv
FILEDELETE NAME="d:\\data folder\\file.csv"

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

1-10 of 33