Плагин iMacros: примеры макросов и скриптов

22 октября 2014 | Автор: | Категория: JQuery и PHP

Пару недель назад открыл для себя новый полезный плагин Firefox, называется он iMacros, а его основная задача — автоматизация рутинных действий при работе в Интернет.

Как оказалось, появился этот плагин довольно давно (судя по истории версий первый релиз был в далёком 2006 году), удивительно, что я не узнал о нём раньше. Сейчас, помимо плагина для Mozilla Firefox, существуют аналогичные расширения для браузеров Internet Explorer и Google Chrome.

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





Я не буду в деталях описывать механизм записи макросов, так как в сети уже есть достаточно много информации по этому вопросу. Если Вас данный плагин тоже заинтересует, можно начать с изучения документации на сайтах wiki.imacros.net и ru.imacros.wikia.com

Теория есть теория, а практические примеры порой помогают куда лучше разобраться в решении поставленных задач. Чтоб закрепить изученный материал написал несколько макросов которыми сегодня и поделюсь.

1) Макрос для автоматического наполнения твиттер аккаунта:

VERSION BUILD=8601111 RECORDER=FX
TAB T=1
URL GOTO=https://twitter.com/seogrot
CMDLINE !DATASOURCE twitter.csv
SET !DATASOURCE_COLUMNS 1
SET !LOOP 1
WAIT SECONDS=2
SET !DATASOURCE_LINE {{!LOOP}}
EVENT TYPE=CLICK SELECTOR="#global-new-tweet-button" BUTTON=0
EVENTS TYPE=KEYPRESS SELECTOR="#tweet-box-global" CHARS="{{!COL1}}"
EVENT TYPE=CLICK SELECTOR="#global-tweet-dialog-dialog>DIV:nth-of-type(2)>DIV:nth-of-type(2)>FORM>DIV:nth-of-type(2)>DIV:nth-of-type(2)>BUTTON" BUTTON=0
WAIT SECONDS=2

Демонстрация работы макроса

2) Макрос для проставления лайков на фотографии ВКонтакте:

VERSION BUILD=8601111 RECORDER=FX
SET !ERRORIGNORE YES
TAB T=1
URL GOTO=http://vk.com/feed
TAG POS=1 TYPE=A ATTR=ID:head_people
SET !VAR1 EVAL("Math.floor(Math.random()*20);")
EVENT TYPE=CLICK SELECTOR="#results>DIV:nth-of-type({{!VAR1}})>DIV:nth-of-type(2)>DIV>A" BUTTON=0
WAIT SECONDS=3
EVENT TYPE=CLICK SELECTOR="#profile_photo_link>IMG" BUTTON=0
WAIT SECONDS=3
EVENT TYPE=CLICK SELECTOR="#pv_like_icon" BUTTON=0
WAIT SECONDS=3
EVENT TYPE=CLICK SELECTOR="#pv_box>A" BUTTON=0

Демонстрация работы макроса

Отдельно стоит отметить, что в iMacros помимо внутренних команд можно использования управляющий JavaScript файл. Соединив два этих инструментария, можно написать практически любого бота.

3) Макрос собирающий ТОП 10 url сайтов из выдачи Google по указанному запросу:

var macros;
var macrosrun;
var s_n = "\n";
var search = "продвижение+сайтов+Донецк" 
for (i=1; i<=10; i++) {
    macros = "CODE:SET !EXTRACT_TEST_POPUP NO"+s_n;
    macros += "URL GOTO=https://www.google.com.ua/#q="+search+s_n;
    macros += "TAG POS="+i+" TYPE=CITE ATTR=class:vurls EXTRACT=TXT"+s_n;
    macros += "SAVEAS TYPE=EXTRACT FOLDER=* FILE=PageUrl.csv";
    macrosrun = iimPlay(macros);
}

Демонстрация работы макроса

4) Макрос для сбора и сохранения твитов в файл:

var macros;
var macrosrun;
var s_n = "\n";
    macros = "CODE:SET !EXTRACT_TEST_POPUP NO"+s_n;
    macros += "URL GOTO=https://twitter.com/BackSpark/followers"+s_n;
for (i=1; i<=200; i++) {
    macros += "TAG POS="+i+" TYPE=STRONG ATTR=CLASS:fullname<SP>js-action-profile-name"+s_n;
    macros += "TAG POS=20 TYPE=P ATTR=CLASS:js-tweet-text<SP>tweet-text EXTRACT=TXT"+s_n;
    macros += "TAG POS=12 TYPE=BUTTON ATTR=TXT:Закрыть"+s_n;
    macros += "SAVEAS TYPE=EXTRACT FOLDER=* FILE=Tweets.csv";
    macrosrun = iimPlay(macros);
    macros = "CODE:SET !EXTRACT_TEST_POPUP NO"+s_n;
    window.parent.scrollTo(0,50000);
}

Демонстрация работы макроса

5) Макрос для массфолловинга по списку аккаунтов:

var macros;
var macrosrun;
var s_n = "\n";
    macros = "CODE:SET !EXTRACT_TEST_POPUP NO"+s_n;
    macros += "URL GOTO=https://twitter.com/BackSpark/followers"+s_n;
for (i=1; i<=100; i++) {
    macros += "TAG POS="+i+" TYPE=BUTTON ATTR=TYPE:button&&CLASS:user-actions-follow-button<SP>js-follow-btn<SP>follow-button<SP>btn"+s_n;
    macros += "REFRESH";
    macrosrun = iimPlay(macros);
    macros = "CODE:SET !EXTRACT_TEST_POPUP NO"+s_n;
    window.parent.scrollTo(0,50000);
}

Демонстрация работы макроса

Памятка:

Функция iimPlay() – запускает команду макроса или готовый макрос на выполнение;
Команда SET — установка пользовательских переменных в iMacros. Список встроенных переменных iMacros можно посмотреть здесь.
Команда TAG — выполняет действия с заданным HTML элементом. Определить элемент можно путем назначения параметров POS, TYPE, FORM и ATTR. Результатом действий команды можгут быть: переход по ссылке, выбор заданного пункта меню, загрузка файла или изображения, сохранение найденных значений в переменную и т.д.
Команда URL — переход по заданной ссылке в активной вкладке.
Команда EVENT(S) — инициирует событие (клик по элементу, выделение элемента, ввод с клавиатуры и т.п.)
Команда SAVEAS — cохраняет информацию в файл.



Метки: 

Для этой страницы комментарии закрыты.