TAG — команда №1 для iMacros

Команда iMacros TAG

Команда iMacros TAG выбирает HTML-элементы на текущей странице, а затем одно из действий описанных ниже. Идентификация может быть сделана одним из следующих способов:

  • тип, положение и атрибуты элемента;
  • XPATH к элементу;
  • CSS-селектор элемента.

Если выбранный элемент является ссылкой, тогда iMacros кликает на нее, то есть команда TAG действует как если бы вы нажали на ссылку. Если выбранный элемент является частью формы ввода, то параметр CONTENT можно использовать для заполнения этой формы в выбранном поле.

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

Синтаксис:

или

или

Параметры:

  • POS
    Указывает порядковый номер HTML-элемента. По умолчанию отсчет начинается с верха страницы. Для лучшего понимания смотрите примеры ниже. С помощью «POS=Rн» номер может быть определен по отношению к предыдущей команде TAG.
  • TYPE
    Определяет тип HTML-элемента.
  • FORM
    Задает имя родительского FORM-элемента (работает только с элементами форм).
  • ATTR
    Определяет идентификатор для выбранного элемента.
  • CONTENT
    Определяет содержимое (инофрмацию) для вставки в выбранный элемент (работает только с элементами форм).
    Примечание: замените пробелы на <SP>, например CONTENT=Привет<SP>Мир, или заключить текст в двойные кавычки: CONTENT=»Привет Мир».
    Если хотите использовать в содержании двойные фигурные скобки, они должны быть экранированы с помощью #NOVAR#, наприме:

    Тогда макрос будет относиться к {{НекотороеЗначение}} как к строке, а не как переменная.
  • EXTRACT
    При помощи данного параметра можно извлечь информацию со страницы или из элемента. Читайте подробнее в статье EXTRACT.
  • XPATH
    XPath-выражение для локализации элемента на странице. Пример:
  • SELECTOR
    CSS-селектор, для идентификации элемента на странице.

Примечания:

Для параметров TYPE, FORM и ATTR используются промежуточные (суб-) параметры_формы. Суб-параметры используются в следующем виде: параметр_формы=промежуточный_параметр:значение.

  • Особенно часто в ATTR используется шаблонизатор (символ «*»).
  • Дополнительно TAG включает в себя функциональные возможности команды EXTRACT. Добавляется дополнительный параметр EXTRACT, для того чтобы определить как извлекать информацию.

Переход по ссылкам:

Для того, чтобы переходить по ссылкам командой iMacros TAG, нужно в параметре TYPE установите значение A. Для данного действия параметр FORM не обязателен. Связь с ссылкой будет осуществляться только при определении POS и ATTR. Не всегда можно использовать порядковый номер ссылки (определяется параметром POS), для однозначной идентификации можно использовать текст ссылки и/или ее URL. Поэтому параметр ATTR предлагает два различных вспомогательных параметра: TXT и HREF. Для того чтобы кликнуть на ссылку по ее названию:

чтобы кликнуть при помощи URL:

Иногда, при нажатии на ссылку при помощи TAG, страница долго загружается, iMacros не ждет достаточно времени и останавливается с ошибкой. Этого можно избежать путем увеличения времени ожидания (установите необходимое значение, в секундах, при помощи переменной !TIMEOUT_STEP).
Как избежать перехода по ссылкам?
Используйте команду TAG с параметром EXTRACT=TXT, чтобы избежать, перехода по ссылке или клику по кнопке. В этом случае, нужно очистить переменную !EXTRACT перед реальным извлечением данных:

Таймаут:

Иногда текст не появляется сразу после загрузки страницы. Примером могут служить aJax-запросы или перенаправляющие (редирект) страницы, которые отображают какое-то сообщение, например «Обработка запроса».
Так что, если нужно подождать, пока какой-нибудь текст не появится, хорошая новость заключается в том, что команда TAG имеет возможность автоматизировать это:
TAG iMacros ждет !TIMEOUT_STEP секунд и каждую секунду проверяет, если ли необходимый текст. По умолчанию время ожидания составляет 6 секунд.

Заполнение формы:

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

Специальный TAG команды для выпадающего меню:

Параметр CONTENT используется для указания того, какой элемент из выпадающего меню (генерируется с помощью HTML тега <SELECT>) будет выбран. Ниже представлен небольшой хтмл код такого меню, далее для него рассмотрим примеры.

По умолчанию параметр CONTENT, для TYPE=SELECT, сохраняет значение опции, если таковая имеется. В противном случае, iMacros использует отображаемое имя выбранного варианта. Третья возможность это позиция в списке (также называемая индексом) выбранного значения.

Вы можете вручную определить что будет использоваться для идентификации: название, индекс, или значению (value). Названием пункта меню является текст, который отображается в раскрывающемся меню. Значением является текст, который можно получить из VALUE=значение. Индекс выбирается по позиции элемента в списке возможных вариантов, начиная с 1.

Чтобы выбрать элемент командой iMacros TAG по имени добавить $ перед именем, как в примере ниже:

Для выбора пункта меню по его значению используйте символ процента (%):

Чтобы выбрать по индексу используйте символ #:

Пробелы записываются с помощью <SP>, или текст должно быть помещен внутрь двойных кавычек («»).

Два последних случая не чувствительны к регистру и есть возможность применения шаблонизатора (*).

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

Чтобы выбрать все значения используйте CONTENT=ALL. Если макрос запускается с помощью iimPlay() и выберается значение которого нет, то функция iimPlay() вернет код ошибки, который соответствует максимальному количеству возможных пунктов меню.

Примичание к iMacros для Firefox/Chrome:

При использовании символов $,% и # совместно с переменными, эти символы должны быть вне двойных кавычек {{..}}, т.к. iMacros может определить тип переменной во время парсинга. Это точно так же, как и в любом другом скриптовом языке, когда вы должны объявить тип перед использованием, думаю на примерах сейчас станет ястно что имелось ввиду:

Пример не будет работать в Firefox и Chrome:

Вот так нужно правильно записать:

Скрытые поля:

Скрытые поля ввода используются в HTML для записи некоторой информации о пользователе или служебной (например, имя пользователя, идентификатор сеанса) в HTML-коде, делается это для того, чтобы пользователю не приходилось каждый раз вводить ее вручную, когда загружается новая страница. Поскольку скрытые поля не отображаются в браузере, iMacros TAG для них не могут быть записаны автоматически. Но вы можете добавить команды TAG с TYPE=HIDDEN вручную в макрос, после чего iMacros будет заполнять скрытые поля во время воспроизведения. Для того, чтобы сделать запись подобного типа команду, для начала запишите TAG для видимого поля (например, поле ввода имени), допустим вы получили следующую строку:

Измените ее для скрытого поля, измените тип INPUT:TEXT на INPUT:HIDDEN и имя (NAME) c «Name» на «abc». Вот что получается:

Загрузка файлов:

Internet Explorer и другие браузеры не позволяют осуществлять прямое заполнение каких-либо полей с типом FILE. Как правило, эти поля используются для загрузки файлов. Тем не менее, iMacros может автоматически отправить файл с помощью команды TAG.

Срабатывание события:

Иногда требуется сделать определенные действия на странице, для этого есть специальные параметры в команде iMacros TAG. Чтобы запустить событие запишите следующее EVENT:название_события в качестве параметра CONTENT.

  • SAVEITEM
    Данное событие в основном используется для сохранения изображения c сайта, но можно попытаться сохранить и другие элементы страницы. Во время записи макроса на элементе выберите Сохранить как.. и параметр автоматически добавится к команде или можно добавить CONTENT=EVENT:SAVEITEM вручную. Для того, чтобы определить папку и имя загружаемого файла используйте команду ONDOWNLOAD.
  • SAVE_ELEMENT_SCREENSHOT
    Делает скриншот выбранного элемента (области) и сохраняет его как PNG файл.
  • SAVETARGETAS
    Событие называется как соответствующая функции в меню Internet Explorer: Сохранить Объект Как. Вы можете щелкнуть правой кнопкой мыши на любом элементе сайта, чтобы увидеть, поддерживает ли данный элемент эту функцию. Чтобы создать такую команду вы должны нажать на элементе во время записи и добавить CONTENT=EVENT:SAVETARGETAS вручную. Чтобы контролировать местоположение и имя загружаемого файла используйте команду ONDOWNLOAD.
  • MOUSEOVER
    Для выбранного элемента срабатывает событие mouseover (мышь над элементом). Иногда это требуется для изменения состояния изображения. (Не реализован в iMacros v.7 и более ранних версиях).
  • FAIL_IF_FOUND
    Является внутренним событием iMacros в отличие от HTML-событий. Иногда полезно, когда делается поиск по ключевым словам.

Пример:

Макрос для скачивания изображения:

В продолжение команды iMacros TAG следует рассказать про параметр EXTRACT. Обязательно для ознакомления!

3 Комментария

  1. Азат

    Здравствуйте, а как открыть ссылку на новой вкладке командой Tag?

    1. SergiuS
  2. Максим

    Здравствуйте!
    «Не всегда можно использовать порядковый номер ссылки (определяется параметром POS),» — а как узнать порядковый номер ссылки для POS?
    Заранее спасибо за ответ!

Оставить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *