Demo-Datasource — использование файла в работе

Demo-Datasource.iim

Макрос Demo-Datasource.iim показывает как можно получить наборы данных из текстового файла и использовать их для заполнения форм на сайте (в частности для заполнения онлайн базы данных). Макрос должен запускаться в цикле.

Описание работы Demo-Datasource.iim:

Строка 1 — указание версии (VERSION) iMacros на которой был написан данный макрос (в данном случае использовался iMacros for Firefox).

Строка 2 — объявляется TAB о том, что работать будем в текущей вкладке (первой), если пишете для себя, то данная строка необязательна.

Строка 3 — при помощи команды SET устанавливаем значение переменной !DATASOURCE, которая отвечает за исходный файл, откуда мы будем получать информацию (если используются переменный !COL, то исходный файл должен быть записан в формате CSV). Примечание: CSV = Comma Separated Values (Запятой Разделенные Значения) в каждой строке файла.

Строка 4 — в зависимости от того, где вы запускаете макрос, (не-) нужно использовать переменную !DATASOURCE_COLUMNS, которая объявляет максимальное количество колонок в файле. Поэтому если сторока нужна, убераем значек комментария, если нет — оставляем все как есть.

Строка 5 — устанавливаем значение переменной !LOOP = 2 для того, чтобы данные извлекались начиная со 2 строки, так как в первой строке находится шапка файла (оформление, подпись колонок. там нет целевой информации).

Строка 6 — задаем номер строки для считывания данных (!DATASOURCE_LINE), для этого используем переменную !LOOP потому что в файле несколько строк, и с каждым проходом меняется номер строки для считывания.

Строка 8 — открываем форму по ссылке URL, которая задана в коде макроса Demo-Datasource.iim.

Cтрока 9-13 — заполняем форму, при помощи команды TAG находим первый элемент попадающий под фильтр: находим на странице форму <FORM> c идентификатором (ID) «demo», внутри тег <INPUT> с type=text и различными названиями атрибута (ATTR) name=[fname | lname | address | city | zip] . Соответственно параметру CONTENT присваиваются значения колонок из файла {{!COL1}} … {{!COL5}}.

Пример CSV файла:

Первая строка не извлекается (используется как шапка), во второй {{!COL1}} = «Иван», {{!COL2}} = «Иванов», {{!COL3}} = «ул. Большая 7», …

Строка 15 — аналогично предыдущему использованию комынды TAG, за исключением использования символа процента (%). Используется для выбора значения по идентификатору (value), которые заданы сайтом (можно посмотреть в исходном коде страницы), а не по индексу.

Строка 16 — все аналогично, но используется символ доллара ($). В данном случае используется для выбора страны по текстовому значению, а не по индексу. Индекс — положение записи в поле списка, для США индекс будет 161.

Примечание:  строки 15-16, символ * используется для игнорирования пробелов в начале и конце, которые могут быть во входных данных.

Строка 18 — добавляем значение email из исходного файла.

Строка 19 — отправляем форму, путем нажатия кнопки (BUTTON) с type=submit и содержащая текст Submit.

Строка 20 — после того как форма отправилась переходим по ссылку, содержащая текст Back.

После этого автоматически меняется значение !LOOP и все повторяется заново, но уже с другими данными.

Код макроса:

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

  1. Даяна Купина

    Спасибо.
    Пошто Ваш текст не в коде каментами, а отдельно от кода?

    1. Владислав (Автор записи)

      Пожалуйста. Для того что бы не перегружать код и не отвлекать внимание от команд.

  2. Артур

    если форма реализована не через id а через класс ?? почему то не получается настроить вот код
    VERSION BUILD=9030808 RECORDER=FX
    TAB T=1
    URL GOTO=https://www.instagram.com/p/BXxpxTtjVon/?hl=eng&taken-by=olgabraylik2016
    TAG POS=1 TYPE=TEXTAREA FORM=NAME:NoFormName ATTR=ARIA-LABEL:Addacomment…&&CLASS:_bilrf&&PLACEHOLDER:Addacomment…&&TXT: CONTENT=lallalallaal
    TAG POS=1 TYPE=TEXTAREA FORM=NAME:NoFormName ATTR=* CONTENT=lallalallaal

    Не могу реализовать отправку, в форму вводится все пучком но не отправляет (пытался реализовать через EVENT TYPE=KEYPRESS SELECTOR=* KEY=13) результата нет ….

    1. Владислав (Автор записи)

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

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

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