Demo-Extract — как лучше использовать EXTRACT

Пример Demo-Extract.iim

В одном макросе Demo-Extract.iim собрано большое количество команд, демонстрирующих работу параметра EXTRACT команды TAG. Извлекаются различные атрибуты элементов, начиная от текста и заканчивая title.

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

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

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

Строка 3 — закрываем все вкладки кроме активной.

Строка 4 — открываем сайт по ссылке URL.

Строка 5 — при помощи команды TAG iMacros находим первый элемент попадающий под фильтр: HTML-элемент <TD> с атрибутом (ATTR) class = «bdytxt» и содержащий любой текст (TXT). Параметром EXTRACT извлекаем текст, который содержит определенный элемент.

Строка 6 — при помощи команды TAG находим первый элемент попадающий под фильтр: HTML-элемент <A> содержащий текст (TXT) попадающий под маску H[любой текст]links[любой текст]. Параметром EXTRACT извлекаем атрибут title, определенного элемента.

Строка 7 — при помощи команды TAG iMacros находим первый элемент попадающий под фильтр: HTML-элемент <SPAN> с атрибутом (ATTR) class = «bdytxt» и содержащий любой текст (TXT). Параметром EXTRACT извлекаем весь внутренний HTML-код, который содержит данный элемент.

Строка 11 — при помощи команды TAG находим первый элемент попадающий под фильтр: находим на странице форму <FORM> c названием (NAME) «form1», внутри тег <INPUT> с type=text, атрибутом (ATTR) id=»TF2″. Параметром EXTRACT извлекаем текст, который содержит определенный элемент.

Строка 12 — при помощи команды TAG находим второй элемент попадающий под фильтр: HTML-элемент <TABLE> содержащий текст (TXT) попадающий под маску [любой текст]My[любой текст]. Параметром EXTRACT извлекаем весь внутренний текст, определенного элемента.

Строка 17-20 — относительное извлечение: данный метод довольно хорошо прокомментирован в коде макроса.

Строка 22 — используюя команду SAVEAS сохраняем данные, хранящиеся в переменной !EXTRACT в файл, в названии которого (FILE) присутствует временной маркер, добавленный с помощью переменной !NOW. Файл сохраняется в стандартную папку iMacros (FOLDER).

Код макроса:

VERSION BUILD=10.4.28.1074
TAB T=1
TAB CLOSEALLOTHERS
URL GOTO=http://demo.imacros.net/Automate/Extract2
TAG POS=1 TYPE=TD ATTR=CLASS:bdytxt&&TXT:* EXTRACT=TXT
TAG POS=1 TYPE=A ATTR=TXT:H*links* EXTRACT=TITLE 
TAG POS=1 TYPE=SPAN ATTR=CLASS:bdytxt&&TXT:* EXTRACT=HTM  
TAG POS=1 TYPE=A ATTR=TXT:HREF<SP>extracts<SP>links EXTRACT=HREF  
TAG POS=1 TYPE=IMG ATTR=SRC:*shark_thumbnail.jpg EXTRACT=ALT         
TAG POS=1 TYPE=INPUT:TEXT FORM=NAME:form1 ATTR=NAME:abc EXTRACT=TXT 
TAG POS=1 TYPE=INPUT:TEXT FORM=NAME:form1 ATTR=ID:TF2 EXTRACT=TXT 
TAG POS=2 TYPE=TABLE ATTR=TXT:*My* EXTRACT=TXT  
TAG POS=1 TYPE=TD ATTR=CLASS:bdytxt&&TXT:* EXTRACT=TXT 
'
'Относительное извлечение
'
'1. Выбираем опорный (первый) элемент
TAG POS=1 TYPE=TH ATTR=TXT:MyTable
'2. Значение POS относительно опорного элемента
TAG POS=R3 TYPE=TD ATTR=TXT:* EXTRACT=TXT 
'Извлеченные данные будут сохранены в CSV файл в стандартную папку загрузки iMacros
SAVEAS TYPE=EXTRACT FOLDER=* FILE=+_{{!NOW:yyyymmdd_hhnnss}}

 

10 Комментариев

  1. Михаил

    Приветствую! Можно перенести некоторые материалы на мой сайт ссылку поставлю?

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

      Отправил вам e-mail.

  2. Ярослав

    Владислав здравствуйте, можно ли как-то списаться с вами через емейл или скайп?
    У меня проблема с сохранением текста (мой макрос раньше работал отлично, сейчас перестал)нужна ваша проверка или редактирование.
    Здесь написать не могу тк там присутствует логин и пароль.
    Для вас это займет 2 минуты, я мучаюсь уже около недели.
    Готов оплатить ваше время через ВМ или киви.
    Пожалуйста не оставьте меня не замеченным, напишите пожалуйста на досуге мне, я подробно объясню мою ситуацию. Заранее вам спасибо!

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

      Здравствуйте, я вам на почту отправил письмо.

      1. Ярослав

        Спасибо что ответили, написал вам на емейл мою проблему с логинами и паролями

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

          Все, я вам отпраавил результат на почту

          1. Ярослав

            Владислав огромное вам спасибо за помощь в изменение кода! Все работает! Рад как слон!

            Статью перечитаю, я понял где мои ошибки.
            От души желаю всего самого самого лучшего!
            Спасибо еще раз!

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

            Пожалуйста, рад был помочь

  3. Олег

    Здравствуйте! Не смог найти нужной информации. Как написать часть скрипта, где макрос кликает в одну из ссылок в заданной области, копирует ее после открытия, переходит на ранее открытую вкладку и вставляет ссылку туда?

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

      Здравствуйте, это можно сделать, достаточно прочитать эти статьи: TAG, !CLIPBOARD, !URLCURRENT, BACK, SET.

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

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