Imacros как написать скрипты

Только для читателей Lifeexample возможно открыть интернет-магазин на Moguta.CMS со скидкой в 15%

iMacros: команды, скрипты, примеры

Здравствуйте, уважаемые читатели блога LifeExample, хочу познакомить вас с одним удивительным инструментом веб мастера, хакера, и простого пользователя, встречайте: плагин iMacros для браузера Mozila Firefox.

iMacros позволяет записать любую последовательность действий человека на сайте в макрос.

Макроспрограммный код хранящий порядок необходимых к автоматическому выполнению.

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

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

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

Начав заниматься написанием скриптов для автоматического размещения информации на чужом сайте, я выбрал путь с использованием возможностей библиотеки CURL на php, но вскоре столкнулся с рядом проблем, обход которых не представлялся возможным, пользуясь лишь серверным языком. Малейшее использование JavaScripta в системе авторизации сайта ставило бота в тупик.

Гуляя по просторам интернета, с целью найти решение для обхода защиты использующей Javascript, я нашел инструмент, с помощью которого можно сделать бота эмулирующего любое действие человека, и этим инструментом явился плагин iMacros для браузера Mozila Firefox.

iMacros, как сделать первый макрос

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

плагин iMacros

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

Для записи наших действий перейдем во вкладку запись и нажмем на одноименную кнопку. После чего откроем сайт yandex.ru и введем любой поисковый запрос, например: «Бесплатная CMS для интернет магазина Moguta», нажмем кнопку найти. Завершим запись действий, нажав на кнопку стоп в панеле iMacros.

Полученные в ходе наших действия команды iMacros сохраняет в файл #Current.iim. Чтобы воспроизвести их дважды кликнем на макрос #Current.iim, после чего iMacros должен произвести ряд записанных команд:

1
2
3
4
5

VERSION BUILD=7601105 RECORDER=FX
TAB T=1
URL GOTO=http://www.yandex.ru/
TAG POS=1 TYPE=INPUT:TEXT FORM=ACTION:http://yandex.ru/yandsearch ATTR=ID:text CONTENT= «Бесплатная CMS для интернет магазина Moguta»
TAG POS=1 TYPE=INPUT:SUBMIT FORM=ID:form ATTR=VALUE:Найти

пример макроса iMacros

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

Команды iMacros на русском языке

Целью данной статьи стоит описать команды iMacros на русском языке, т.к. в интернете информации очень мало. Из действительно полезных источников, рассказывающих об iMacros на русском, я встретил только форум Mozila.

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

Я думаю каждый, кто имеет цель написать хоть чуточку полезный макрос, первым делом задаст себе следующие вопросы:

Как запустить iMacros автоматически на Windows

Ответ: Создать файл с расширением *.bat открыть в блокноте и сохранить в него строку:

1

start firefox «C:Program FilesMozilla Firefoxfirefox.exe» http://run.imacros.net/?m=#Current.iim.

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

Как запустить iMacros автоматически на Unix

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

1
2
3
4
5

#!/usr/bin/python
import imacros
iret = imacros.iimInit(«-fx», True)
iret = imacros.iimPlay(«CODE:URL GOTO=http://www.iopus.com»)
iret = imacros.iimExit()

Как запустить iMacros из PHP

Ответ: используя класс COM:

1
2
3
4
5
6
7
8
9
10
11
12
13
14

<?php
     $iim1 = new COM(«imacros»);
     $s = $iim1->iimInit(«-runner»);

     
     $s = $iim1->iimSet(«-var_keyword», $_GET[«keyword»]);
     $s = $iim1->iimPlay($_GET[«macro»]);

     
     echo «iimplay=»;
     echo $s;
     echo «extract=»;  
     echo $iim1->iimGetLastExtract;

     
     $s = $iim1->iimExit();
?>

Разобравшись с автозапуском, приходит понимание, что для макроса со сложной задачей, необходимо научиться использовать циклы. В iMacros циклы предусмотрены, но пользоваться ими слишком неудобно.

iMacros команда для задания цикла

Слева снизу iMacros’а есть надпись «Повторить макрос», под ней поле «Макс:», там нужно ввести количество итераций цикла.

Поскольку с такой реализацией циклов далеко не уедешь, нужно искать альтернативу, и альтернатива в iMacros действительно есть. Плагин iMacros для браузера Mozila Firefox, имеет потрясающую возможность использовать управляющий JavaScript файл, именно эта способность окончательно разбило мое сердце и влюбила меня в iMacros.

Как сделать управляющий js-файл

Управляющий JavaScript файл — это ни что иное как обычный скрит на JS, Пример управляющего файла из демонстрационных скриптов iMacrosa:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20

MyPosts = new Array();
MyPosts.push(«307»);
MyPosts.push(«2615»);
MyPosts.push(«1147»);
MyPosts.push(«3201»);
MyPosts.push(«3360»);

iimDisplay(«Array/iimSet Demo»);

for (i = 0; i < MyPosts.length; i++) {
    iimSet(«POSTID», MyPosts[i]);
    retcode = iimPlay(«CODE:URL GOTO=http://forum.iopus.com/viewtopic.php?f=11&t={{postid}}n«);
    if (retcode < 0) {              // an error has occured
        errtext = iimGetLastError();
        alert(errtext);
        break;
    }
}

iimDisplay(«Script completed.»);

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

  • iimSet(«POSTID», MyPosts[i]); — передает в макрос переменную «POSTID», со значением MyPosts[i];
  • iimPlay(«CODE:URL GOTO=http://forum.iopus.com/viewtopic.php?f=11&t={{postid}}n»); — приводит команду макроса в выполнение, кроме того данной командой можно запустить готовый макрос iimPlay(«JS/login»,60);
  • iimGetLastError(); — Возвращает текст ошибки;
  • iimDisplay(«Script completed.»); — Выводит сообщение в консоль iMacros;

Научившись использовать команды iMacros внутри JavaScript, можно приступать к реализации любого бота, но практически сразу встанет вопрос: «как передать данные из текстового файла в макрос?».

iMacros команда для чтения CSV файла

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

1
2
3
4
5
6
7
8

CMDLINE !DATASOURCE SET !DATASOURCE C:users.csv
SET !DATASOURCE_COLUMNS 4
‘Начало со второй строки, минуя заголовки. ‘
SET !LOOP 2
‘Увеличения счетчика строк спомощью цикла LOOP’
SET !DATASOURCE_LINE {{!LOOP}}
‘Далее Непосредственно сами команды цикла’
URL GOTO=http://www.testdomain.com/form.php

По умолчанию, макрос считывает CSV в формате в котором разделителями являются просто запятые. Иногда может потребоваться использоват альтернативный разделитель например в виде точки с запятой. В этом случае нужно выполнить команду:

1

SET !DATASOURCE_DELIMITER ;

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

Приведенный выше кусок макроса выполнится столько раз, сколько указано в поле «МАКС».

циклы в iMacros

Согласитесь это не очень удобно, если после цикла нужно выполнить другие действия, или же новый цикл.

Как организовать полноценный алгоритм на iMacros, с чтением из CSV я покажу на практическом примере, но чуть позже, а пока хочу представить вашему вниманию функцию по возврату значения переменной обратно в JavaScript.

Как получить данные обратно в JS

Функция iimGetLastExtract() позволяет получить переменные из макроса в javascript, но работает она при условии, что в самом макросе существует команда

отдающая какое либо значение:

1
2
3

ADD !EXTRACT {{VAR1}}
ADD !EXTRACT {{VAR2}}
ADD !EXTRACT {{VAR3}}

В данном случае из макроса возвращается три переменные, каждая из которых будет доступна следующими вызовами в JS:

1
2
3

var var1 = iimGetLastExtract(1);
var var2 = iimGetLastExtract(2);
var var3 = iimGetLastExtract(3);

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

1
2

SET !VAR1 EVAL(«Math.floor(Math.random()*5 + 1);»)
WAIT SECONDS={{!VAR1}}

Этим кодом в переменную {{!VAR1}} попадает случайное число сгенерированное на JS командой EVAL. Кстати обратите внимание, тут мы использовали еще одну новую iMacros команду: WAIT, задающую время ожидания перед выполнением следующего действия.

Не исключителен случай, когда страница на одном из сервисов, для которого написан макрос, изменит свою структуру , и тогда при выполнении iMacros выкинет ошибку.

Чтобы iMacros игнорировал ошибки, нужно прописать команду:

Еще несколькими полезными командами в iMacros может явиться понижение скорости выполнения макроса:

И отключение картинок

1

FILTER TYPE=IMAGES STATUS=ON

Ну вот и пришло время окунуться в практику, и написать несколько несложных управляющих JavaScript файлов:

Сохранить капчу сайта на локальный диск

Перед использованием надо создать папку c:imacros и обновить плагин imacros до последней версии. Без обновления могут вылетать ошибки.

1
2
3

URL GOTO=http://yoursite.ru
ONDOWNLOAD FOLDER=c:imacros FILE=capcha.png WAIT=YES
TAG POS=1 TYPE=IMG ATTR=SRC:http://yoursite.ru/captcha/* CONTENT=EVENT:SAVEPICTUREAS

Примечание: данным методом можно сохранять статичные картинки, для генерируемых автоматически, как в случае с капчей, нужно использовать событие SAVE_ELEMENT_SCREENSHOT введенное с версии 7.2.0.8. iMacros
Должно получиться так:

1
2
3

URL GOTO=http://yoursite.ru
ONDOWNLOAD FOLDER=c:imacros FILE=capcha.png WAIT=YES
TAG POS=1 TYPE=IMG ATTR=SRC:http://yoursite.ru/captcha/* CONTENT=EVENT:SAVE_ELEMENT_SCREENSHOT

iMacros выполнение JS внутри макроса

1
2

SET !VAR1 EVAL(«var content=’текст’; content;»)
PROMPT {{!VAR1}}

iMacros практические примеры

  1. Создадим макрос, получающий первый заголовок из выдачи yandex.ru по запросу «Moguta CMS.»:
  2. 1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12

    var macros;
    var retcode;
    var s_n = «n«;
    var getExtract;
    var search = «moguta+CMS» //вместо пробелов используйте знак ‘+’

    macros = «CODE:SET !EXTRACT_TEST_POPUP NO»+s_n;
    macros += «URL GOTO=http://yandex.ru/yandsearch?text=»+search+s_n;
    macros += «TAG POS=2 TYPE=A ATTR=class:b-serp-item__title-link EXTRACT=TXT»+s_n;
    retcode = iimPlay(macros);
    getExtract = iimGetLastExtract(1);
    alert(getExtract);

  3. Теперь сделаем цикл и выведем список 10 заголовков:
  4. 1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14

    var macros;
    var retcode;
    var s_n = «n«;
    var getExtract;
    var search = «moguta+CMS» //вместо пробелов используйте знак ‘+’

    for (i=1; i<=10; i++) {
        macros = «CODE:SET !EXTRACT_TEST_POPUP NO»+s_n;
        macros += «URL GOTO=http://yandex.ru/yandsearch?text=»+search+s_n;
        macros += «TAG POS=»+i+» TYPE=A ATTR=class:b-serp-item__title-link EXTRACT=TXT»+s_n;
        retcode = iimPlay(macros);
        getExtract += iimGetLastExtract(1)+s_n;
    }
    alert(getExtract);

  5. Усложним задачу, создадим CSV файл, в котором укажем три поисковых запроса, разделив из точкой с запятой. Вот так будет выглядеть CSV:
  6. 1
    2

    imacros команды;imacros скрипты;imacros на русском;
    moguta CMS;lifeexample.ru;могута;

    И напишем макрос который выведет список топовых заголовков, занимающих первую позицию, по этим запросам.

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22

    var macros;
    var retcode;
    var s_n = «n«;
    var getExtract=«»;
    var columns = 3; //количество колонок csv
    var rows = 2; //количество строк csv

    for (j = 1; j <= rows; j++) {
        for (i = 1; i <= columns; i++) {
            macros = «CODE:SET !EXTRACT_TEST_POPUP NO»+s_n;
            macros += «SET !DATASOURCE_DELIMITER ;»+s_n;
            macros += «CMDLINE !DATASOURCE test.csv»+s_n;
            macros += «SET !DATASOURCE_COLUMNS «+columns+s_n;
            macros += «SET !LOOP «+j+s_n;
            macros += «SET !DATASOURCE_LINE {{!LOOP}}»+s_n;
            macros += «URL GOTO=http://yandex.ru/yandsearch?text={{!COL»+i+«}}»+s_n;
            macros += «TAG POS=1 TYPE=A ATTR=class:b-serp-item__title-link EXTRACT=TXT»+s_n;
            retcode = iimPlay(macros);
            getExtract += iimGetLastExtract(1)+s_n;
        }
    }
    alert(getExtract);

    Обратите внимание, что файл test.csv, должен лежать в директории C:UsersuserDocumentsiMacrosDatasources , или необходимо указать абсолютный путь до файла C:\test.csv

  7. Пример с передачей переменных, одного макроса в другой. Сначала берем макросом данные из CSV, затем передаем их в JS, и после обработки отдаем на растерзание всем макросам из списка.
    Содержание исполняемого JS файла.
  8. 1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28

    var macros;
    var retcode;
    var s_n = «n«;
    var getExtract=«»;

    macros = «CODE:SET !EXTRACT_TEST_POPUP NO»+s_n;
    macros += «SET !DATASOURCE_DELIMITER ;»+s_n;
    macros += «CMDLINE !DATASOURCE test.csv»+s_n;
    macros += «SET !DATASOURCE_COLUMNS «+columns+s_n;
    macros += «SET !LOOP «+1+s_n;
    macros += «SET !DATASOURCE_LINE {{!LOOP}}»+s_n;

    macros += «ADD !EXTRACT {{!COL1}}»+s_n;
    macros += «ADD !EXTRACT {{!COL2}}»+s_n;

    retcode = iimPlay(macros);
    var COL1 = iimGetLastExtract(1);
    var COL2 = iimGetLastExtract(2);
    alert(COL1);
    alert(COL2);
    iimSet(«VAR1», COL1);
    iimSet(«VAR2», COL2);

    i = iimPlay(«JS/test»,60);
    Содержание макроса JS/test.imm :
    VERSION BUILD=7601105 RECORDER=FX
    TAB T=1
    URL GOTO=http://yandex.ru/yandsearch?text={{!VAR1}}{{!VAR2}}&lr=2

На этом я закончу данную большую статью в которой мы узнали о том какие команды iMacros востребованы чаще остальных и написали несколько примеров макросов с использованием управляющих JS файлов.

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

Читайте также похожие статьи:

Чтобы не пропустить публикацию следующей статьи подписывайтесь на рассылку по E-mail или RSS ленту блога.

First Steps

Recording a Macro

How to record and replay an iMacros macro for web automation.

(Note: While this video was recorded on the iMacros browser, recording a macro works just the same with our free plugins/extensions for Firefox, Internet Explorer and Chrome)

These videos are designed for an office environment, and thus have no sound.

Automating a Web Form To Get Up-To-Date Flight Prices

Make iMacros fill in a web form to get up-to-date information on a certain flight connection.

(Note: While the iMacros browser was used for recording/replaying this macro, the procedure is the same for the iMacros extension/plugin for Firefox, Internet Explorer and Chrome.)

Automate Image Downloads

Have iMacros download the latest map of pollen concentration in the US.

The iMacros Editor

Use the built-in editor for more convenient testing/fixing.

More iMacros Features

Using DS for Drag ‘n Drop

Using [DS], you can automate AJAX. For example, move elements around with Drag ‘n Drop.

Using ImageRecognition

Use image recognition to select a website’s elements

Image.search.wizard.png Click here to start tutorial

Form Filling

CSV input

How to fill a web form from a CSV input file.

Csv.input.tutorial.png Click here to start tutorial

More information on CSV input:

  • CSV input — Input from Comma Separated Data (CSV) File
  • CSV file format,

Note: The macros displayed in the tutorials make use of the deprecated EXTRACT command, which now is a simple TAG with the EXTRACT parameter (cf. EXTRACT). When using the Extraction Wizard, recent releases of iMacros will automatically create the new commands (and not the ones that are shown in the tutorial).

Using the Content Extraction Wizard

How to use the Extraction Wizard

Content.extraction.wizard.png Click here for part 1 of the tutorial (the tutorial will automatically continue with parts 2, 3, and 4)

Using a VBS loop for extraction

Script.loop.png Click here for part 2 of the tutorial

Using relative positioning (e.g. POS=R1) in extraction

Relative.extraction.png Click here for part 3 of the tutorial

Using relative positioning in a VBS loop extraction

Script.relative.extraction.loop.png Click here for part 4 of the tutorial

Scripting

Updating Excel Data From the Web

How to update data in an Excel spread sheet calling iMacros directly from Excel

Step 1: Record and prepare macro

Update.excel1.png Click here for part 1 of the tutorial

Step 2: Make Excel call iMacros

Update.excel2.png Click here to start part 2 of the tutorial

Loops with VBS

Please see VBS looping

Loop only parts of a macro

Please cf. Loop after Query or Login

Response Time Measurement

Use the STOPWATCH command to measure the respond time of certain web actions

Stopwatch.png Click here to start the tutorial

Как самому записывать скрипт на iMacros

Всем привет, в этой статьи речь пойдет о плагине iMacros для браузер FireFox и так же он есть для Google Chrome. Это нужно в первую очередь для того, чтобы автоматизировать наши действия в браузере, а не выполнять их самому, например: если вам нужно повторять одно и тоже действие много раз, а вы хотите уйти, то это вас спасет — при этом настроить его очень легко!

Так же рассказать вам как можно записывать макросы на iMacros для того чтобы не качать чужие или не рабочие макросы. Или же сделать макрос под себя.

Для примера запишем макрос для сайта addmefast.com (На этом сайте можно накручивать лайки, репосты и подписчиков в социальных сетях или же на Youtube)

1) Нам пригодится Mozilla Firefox.
2) После установки Firefox, загружаем сам плагин iMacros
3) Теперь кликаем сюда:

Как самому записывать скрипт на iMacros

4)Потом переходим во вкладку Запись и кликаем Record options

Как самому записывать скрипт на iMacros

5) Ставим галочку Use X/Y position и нажимаем OK

Как самому записывать скрипт на iMacros

6) После выполнения всех этих действий мы переходим на наш сайт addmefast и начинаем запись. (И да кстати мы там должны быть зарегистрированы. Советую сразу зайти на Gmail или facebook, можно и в twitter)

Как самому записывать скрипт на iMacros

Кстати перед началом записи советую закрыть все лишние вкладки и оставить только нужную нам вкладку, и нужно открыть Firefox полном экране.
7) Теперь мы должны нажимать именно те позиции экрана которые программ должна запомнить и выполнить.
Например, попробуем сделать скрипт для YouTube Subscribe (мы должны быть зарегистрированы на ютуб)
8) После того как нажали на кнопку запись, нажимаем Youtube Subscribe и Subscribe

Как самому записывать скрипт на iMacros

Подписываемся на канал и закрываем вкладку. Как самому записывать скрипт на iMacros

Как самому записывать скрипт на iMacros

По завершении всех наших действий мы нажимаем Стоп

8) После нажатия стоп должен создаться файл с названием #Current.iim

9) Нажимаем правой кнопкой на файл #Current.iim и нажимаем редактировать.
У вас должно получиться что то вроде этого

Как самому записывать скрипт на iMacros

10) Теперь нам нужно вставить между каждым кликом WAIT SECONDS=N, то есть скрипт перед каждым нажатием на кнопку будет ждать N сек.

Как самому записывать скрипт на iMacros

11) Перед TAB CLOSE и после TAB CLOSE лучше поставить как можно больше времени чтобы поинты засчитывались.

12) Теперь нажимаем Save & Close. Выбираем #Current.iim
Воспр., и ставим Повторить макрос на количество раз сколько нам нужно чтобы программа повторила, я введу 99999 и нажимаем Воспр.(Цикл)

Как самому записывать скрипт на iMacros

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

Как самому записывать скрипт на iMacros

Еще, для удобства, можете отключить звук в FireFox

Как самому записывать скрипт на iMacros

Так можно делать не только с этим сайтом, но и с любым другим, я лишь показал на примере сайта addmefast.com

Пару недель назад открыл для себя новый полезный плагин 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охраняет информацию в файл.

Доброго времени суток, дорогие друзья, знакомые и прочие личности, которым довелось читать этот материал.

iMacros, иконка

Бывало у Вас такое, что порой надо на нескольких сайтах сделать некие монотонные действия? На нескольких сайтах залогиниться и посмотреть новости (а лучше скопировать их куда-то, чтобы посмотреть офлайн), куда-то каждый день кликнуть, что-то обновить (я, например, ежедневно вношу мелкие, однообразные правки в резюме, чтобы поднять его наверх в поиске) или ввести какие-то данные в формы комментирования или логина для входа, или что-то куда-то с разных ресурсов переписать (ну, допустим, курс доллара Вам в онлайн-блокнотик сегодня нужен). Ну и всякое прочее.. Всё в жизни бывает. Думаю, что сталкивались. Так вот..

Сегодня в объектив камеры нашего проекта попала тема из разряда бонусов для пользователя или так называемых «облегчалок» работы в повседневно-бытовой юзеровской жизни. Последняя связана непосредственно с путеводителем по интернету — браузером, причем не просто каким-то браузером, а многими любимым, единственным и неповторимым огненным лисом — Firefox, про который написано множество статей, особенно востребованные из которых были про плагины или оптимизацию.

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

Ну что, поехали осваивать..

  • iMacros: функционал, основные возможности и принцип работы. Автоматизируем действия в интернете

  • Освоение подопытного или что из себя представляет плагин iMacros

  • iMacros: команды макросов и их синтаксис

  • Послесловие

iMacros: функционал, основные возможности и принцип работы. Автоматизируем действия в интернете

Вообще, думаю, ни для кого не секрет, что плагины это такие «плюшки», которые позволяют улучшить жизнь обычного интернет-пользователя, будь то визуальная составляющая браузера (в виде изменения внешнего вида) или же более тонкая материя – оптимизация работы (см.ссылку выше по тексту), взятие на себя определенных функций, обязанностей, рутинных операций, которые совершаются неоднократно.

Вашего покорного слугу, как уже говорилось выше, частенько напрягало вводить одни и те же пароли (даже не смотря на функцию запоминания), забивать однотипные «ФИО-формы» или формы логинов (и т.п.) при веб-серфинге по различным сайтам сети. Всегда хотелось, чтобы под рукой был некий виртуальный помощник, готовый подставить плечо в деле решения постоянно повторяющихся (бытовых) задач и сказать: «Хозяин, хватит делать все самому, предоставь это мне!».

И хочу Вам сказать, что мои поиски такого помощника не были напрасны, ибо решение такое есть и зовется оно плагин iMacros для Firefox. К слову сказать, это даже не плагин, а целый комбайн решений, который можно поистине назвать палочкой-выручалочкой в деле автоматизации многих рабочих процессов web-браузера. Которым я и хочу с Вами поделиться.

И чтобы Вы как-то смогли убедиться, что это не просто красивые слова, рассмотрим заявленные разработчиком возможности.

Итак, замечательный плагин iMacros позволяет/осуществляет:

  • Автоматизировать свою деятельность, записывая и воспроизводя повторяющиеся действия пользователя;
  • Заполнение форм данных, запоминание паролей, которые в интерактивном режиме вводятся в поля;
  • Извлечение, сбор и исследование данных — специальная команда автоматически читает данные с сайта и экспортирует их в CSV-файл, действуя аналогично заполнению форм;
  • Тестирование web-приложений;
  • Автоматический вход в почту или другие часто посещаемые сайты;
  • Автоматическую выгрузку и загрузку — автоматизация загрузки изображений, файлов или целых страниц;
  • Возможность переноса файлов макросов с одного ПК на другой с последующим их воспроизведением;
  • Безопасное хранение паролей с использованием 256-битного алгоритма шифрования;
  • Делиться своими макросами;
  • Сохранять и печатать веб-страницы;
  • Редактировать сохраненные макросы;
  • ..И многое другое.

Да, и еще, кроме всего прочего, этот плагин работает с самыми ходовыми браузерами, а именно, Mozilla Firefox, Google Chrome (и др. на основе Chromium), многострадальным Internet Explorer и, кроме того, не гнушается таких ОС, как Windows, Mac, Linux.

Собственно, если по-простому, то можно сказать, что это некий рекордер записи Ваших действий, который неусыпно следит за каждым Вашим шагом. Впоследствии он предлагает воспользоваться уже готовым решением по выполнению той или иной уже совершенной операции/действия (во замудрил-то :-)).

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

Есть действия, которые требуют Вашего постоянного участия (ввод логина/пароля авторизации, заполнение формы данных и многое много многое прочее). Так вот, как минимум iMacros берет и записывает все действия, по Вашему желанию, в специальный макрос, который потом пользователь может запустить одним кликом и автоматически выполнить всю цепочку записанных в него операций. Вот и всего делов-то! Удобно же.

Примечание:
Макрос – это набор инструкций, в которых говориться, какие действия необходимо выполнить, чтобы достигнуть определенной цели.

к содержанию ↑

Освоение подопытного или что из себя представляет плагин iMacros

Для начала работы с iMacros нужно сначала обзавестись, т.е. скачать (во как :)) сие расширение. Для этого проходим по ссылке и кликаем по зеленой кнопке с надписью «Добавить в Firefox».

добавление плагина imacros в firefox

После загрузки нажимаем «Установить сейчас» и перезапускаем нашего огненного лиса (ну или лисичку, у кого как).

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

iMacros, процесс активации

Итак, после активации слева (от основной рабочей области браузера) появляется специальная форма плагина (см. изображение).

панель imacros псоле активации

Форма представляет собой две области, одна из которых предназначена для работы с уже готовыми демо-шаблонами (1), а вторая (2) – для создания/работы/редактирования с будущими макросами. Готовые шаблоны содержат список демо-скриптов, которые позволяют разобраться в работе модуля, а это: различные фреймы, фильтры, заполнение полей, табы и т.п.

Вот, например, один из макросов («SavePDF«) запущен на выполнение (см. изображение).

макрос SavePDF

Конечно, на первый взгляд всё кажется  непонятным, да и, отчасти, это так и есть, однако после ознакомления с видеоинструкциями из раздела поддержки становятся понятными механизмы работы со скриптами. Ну и примеры стоит посмотреть, да. В общем, не забывайте про раздел iMacros Support. Если владеете английским, тогда посетите более подробный информационный ресурс с описанием работы iMacros (или он же через вкладку «Редактирование» — «Помощь»). Для тех же, кто не владеет — еще всё впереди, у нас еще будет некое количество статей по этой теме.

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

Итак, кликаем по вкладке «Редактирование», переходим в «Опции» и настраиваем необходимые параметры (см. изображение).

imacros, опции настроек

Панель «Опции» имеет 5 вкладок с настройками, но нам необходимо лишь проделать следующие действия (см. изображение):

  • Вкладка «General» — поставить скорость воспроизведения в положение «Среднее» (1). Это оптимальный вариант по скорости выполнения макроса. Впрочем, если Вам потребуется более быстрое или медленное воспроизведение, то, как Вы понимаете, это всегда можно изменить;
  • Вкладка «Security» — можно указать необходимость шифрования паролей, которые будут запоминаться плагином. Это нужно для того, чтобы исключить возможность несанкционированного использования макросов, которые находятся на общих сетевых ресурсах. Придумайте основной пароль и введите его в поле «Enter master password..» (2), если необходимо;
  • Изменить (если не устраивают) рабочие папки сохранения для макросов/данных/закачек, вкладка «Path» (3).

делаем настройки в imacros

Теперь окунемся в практику и рассмотрим парочку реальных примеров из жизни.

iMacros: запись и воспроизведение действий
Допустим, нам необходимо разгрести электронный почтовый ящик или оплатить какую-то услугу, но вот незадача — все пароли и явки (регистрационные данные) вылетели из головы или просто вводить их решительно лениво. Что делать?

Можно раз и навсегда решить эту проблему с помощью iMacros путем записывания всех наших действий (единожды) и последующим просмотром, так сказать, увлекательного кино со стороны, в качестве зрителя. Т.е. мы забиваем все пароли/логины в формы один раз, и уже потом нет нужды хранить все в голове или еще где-то.

Итак, переходим на web-страницу ресурса, форму которого нам надо заполнить. Допустим, мы хотим попасть на всеми нами любимый  форум проекта [Sonikelf’s Project’s], для чего идем по этому адресу Fорум Sис.Админа и начинаем записывать свои действия путём предварительного нажатия кнопки «Запись» (см. изображение).

iMacros, процесс записи

Примечание:
При клике по кнопке «Запись» вылетит предупреждение – хотим ли мы закрыть все формы до начала записи, нажимаем — «Нет».

После этого панель расширения iMacros начнет фиксировать и преобразовывать все наши манипуляции на сайте в свой внутренний, машинный макроязык (см. изображение). Важно иметь это в виду и не делать ничего лишнего из того, что Вы не хотели бы добавлять в макрос и последовательность действий.

imacros, процесс записи в работе

Как только мы закончим заполнение форм и нажмем кнопку «Вход«, необходимо будет остановить запись, кнопка «Стоп». Расширение автоматически сохранит нам записанную последовательность действий как новый макрос под названием «#Current». Теперь нам остается только выйти из формы авторизации на форуме, кликнув по кнопке «Выход» и заново зайти, но уже с помощью записанного макроса.

Для этого просто выбираем текущий макрос «#Current», переходим на вкладку «Воспроизвести» и кликаем по одноименной кнопке (или просто двойной щелчок мыши по названию макроса). Смотрим на результат (см. изображение).

iMacros, макрос сформированimacros, макрос записи сработал

Наблюдается интересная картина: мы сидим, ничего не делаем, а кто-то тем временем, используя наш логин и пароль, заходит на форум FS. Что за дела? ;)

Также можно редактировать любой макрос (ведь все данные хранятся в текстовом виде) путем нажатия правой кнопкой мыши и выбора пункта «Редактировать» из выпадающего меню. Но для этого надо знать код и синтаксис, чему можно будет обучиться или внимательно следя за тем, что записывается после каждого действия, или изучая вышеупомянутую англоязычную поддержку.. Или же попросту дожидаясь новых статей на проекте. Впрочем, кусочек синтаксиса мы сегодня расскажем.

Опять же, по желанию макрос возможно добавить в закладки браузеров Firefox, Chrome. Созданный макрос можно выбрать из этого выпадающего меню, дабы потом просто щелкать по нему как по вкладке и наблюдать за процессом. Изменив же путь Paths (вкладка «Редакт.» — «Опции») и указав общедоступную сетевую (или обычную) папку, можно делиться макросами с другими пользователями по локальной сети.

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

Итак, приведу еще один пример, как можно использовать сей инструмент в повседневной жизни некоторых людей.

iMacros для браузерных онлайн-игр
Сейчас все популярнее становятся браузерные онлайн-игры. В некоторых из них смысл игры заключается в том, чтобы выполнять определенные (чаще всего однотипные) действия через какой-то заданный промежуток времени. Так вот, чтобы автоматизировать сей процесс, достаточно всего лишь один раз выполнить всю последовательность действий в игре, записать макрос, задать время повторения и передать вожжи управления самому плагину. Кроме того, есть игры, которые приносят реальный доход, т.е., допустим, Вы развиваете персонажа/город и т.п. и получаете определенные цифровые «ништяки» (иногда в виде электронных денег) от спонсора. Так вот, поставьте этот процесс на автопилот и займитесь своими делами.

Теперь давайте рассмотрим базовые команды, которые позволяют работать с imacros, и разберемся, для чего они вообще нужны и за что отвечают. Ну и будем примерно знать, как писать или редактировать макросы вообще, опираясь на синтаксис.

к содержанию ↑

iMacros: команды макросов и их синтаксис

Для начала рассмотрим список команд, позволяющих нам выполнять простейшие действия. Итак, команды следующие:

  • ADD – добавление переменной. Позволяет также производить вычитание путем добавления отрицательного значения переменной и поддерживает внутренние переменные !VAR1, !VAR2, !VAR3 и !EXTRACT;
  • BACK – команда возврата на предыдущую страницу веб-сайта;
  • CLICK — клик на HTML-элемент с заранее указанными X/Y координатами. Левый верхний угол страницы — нулевое положение системы координат. Необязательный атрибут CONTENT может использоваться для вставки текста в поле ввода. В основном команда используется в тех случаях, когда необходимо нажимать ссылку, название которой меняется, а координаты остаются неизменными;
  • CLEAR – очищает все временные файлы на HDD, в том числе кэш браузера, куки, сохранённые пароли;
  • PAUSE – остановка выполнения макроса до момента, пока пользователь не нажмет кнопку «Продолжить». Команда полезна для отладки скриптов;
  • REFRESH – обновляет текущее окно браузера по аналогии с кнопкой F5;
  • SET – устанавливает пользовательские переменные от !VAR0 до !VAR9 (стандартные встроенные переменные — число, символ, набор символов);
  • TAG — выбирает HTML-элемент из текущего сайта. Путем назначения параметров POS, TYPE, FORM и ATTR задается определение элемента. Если последний является ссылкой, то она будет нажата, т.е. команда TAG произведёт переход. Если выбранный элемент является формой ввода, то содержимое параметра CONTENT будет использовано для заполнения формы;
  • TAB – позволяет сфокусироваться на определенной вкладке браузера;
  • URL – осуществляет переход по заданной ссылке активной вкладки браузера;
  • VERSION – команда (без которой не обходится ни один макрос), указывающая на версию iMacros, с помощью которой он был записан;
  • WAIT — задержка по времени выполнения скрипта. Можно также задать определенный промежуток между командами Imacros-скрипта;
  • – одиночная кавычка, указывающая на комментарий. Начав строку со знака «» все остальное игнорируется.

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

Итак, идем по порядку.

Синтаксис команды ADD

«ADD result_var added_value», здесь:

  • result_var — Одна из четырех внутренних переменных !VAR1, !VAR2, !VAR3 или !EXTRACT;
  • added_value — Значение, которое будет добавлено к result_var

Пример: Вычитание двух переменных.

SET !VAR1 10
ADD !VAR1 -2
=> Content of !VAR1 is 8.

Синтаксис команды URL

«URL GOTO=нужный_URL»

Пример: Открыть два сайта (sonikelf.ru/forum и sonikelf.info), причем второй сайт в новой вкладке.

Макрос:
‘ Открытие 1-сайта в первой вкладке
URL GOTO=https://sonikelf.ru/forum
‘ Открытие второй вкладки
TAB OPEN
‘ Переход на вторую вкладку
TAB T=2
‘ Загрузка 2-сайта
URL GOTO=https://sonikelf.info

Пример: Открыть локальный файл с сетевого диска E

Макрос:
URL GOTO=file:///E:/image/icon.jpg
URL GOTO=file:///E:/folder/index.html

Синтаксис команды CLICK

«CLICK X=n Y=m [CONTENT=some_content]», здесь:

  • X — Определяет горизонтальную координату элемента на сайте, который должен быть нажат;
  • У — Определяет вертикальную координату элемента на сайте, который должен быть нажат;
  • CONTENT — Указывает значение, которое отправляется при нажатии элемента.

Координаты (X/Y) нужного места, определяются с помощью специализированного софта.

Пример: Надо осуществить переход на сайт sonikelf.ru, найти в строке поиска необходимую фразу, например «windows 8» и осуществить поиск статей, соответствующих данному запросу.

Макрос:
‘ Переход на сайт
URL GOTO=https://www.sonikelf.ru/
‘ Ввод в строку поиска необходимой фразы. (Координаты вычислены с помощью спецсофта).
CLICK X=145 Y=350 CONTENT=Windows8система
‘ Нажатие кнопки «поиск»
CLICK X=280 Y=350

Синтаксис команды SET

«SET var value», здесь:

  • var — Имя встроенной переменной, от !VAR0 до !VAR9, или переменной определенной пользователем;
  • value – Присваиваемое значение

Пример: Установить значение «Заметки Сис.Админа» в переменную SET, а также цифровое значение задержки страницы, равное 100 секунд.

Макросы:

1. SET !VAR1 «Заметки Сис.Админа»;
2. SET !TIMEOUT_PAGE 100

Синтаксис команды TAB

«TAB (T=n|OPEN|CLOSE|CLOSEALLOTHERS)», здесь:

  • n – порядковый номер нужной вкладки;
  • CLOSE – закрытие текущей вкладки;
  • OPEN — открытие новой вкладку в фоновом режиме;
  • CLOSEALLOTHERS — закрытие все вкладкок, кроме активной.

Пример: Открыть сайт во второй вкладке

Макрос:
‘ Открытие веб-страницы в первой вкладке
URL GOTO=https://www.sonikelf.ru/forum
‘ Открытие новой вкладки
TAB OPEN
‘ Выбор открытой вкладки
TAB T=2
‘ Загрузка новой страницы
URL GOTO=https://www.sonikelf.ru
‘ Закрытие второй вкладки
TAB CLOSE
TAB T=1

Синтаксис команды TAG

Пример: Загрузить файл «Filesonikelf.txt», расположенный на диске С.

Макрос:

TAG POS=1 TYPE=INPUT:FILE FORM=NAME:frm_upload ATTR=NAME:uploaded_file CONTENT=c:DownloadFilesonikelf.txt

Команда TAG позволяет запускать события, используя для этого значение EVENT: event_name для параметра CONTENT.

Пример: процесс загрузки изображения по URL-адресу

Макрос:
URL GOTO= https://sonikelf.ru/attach/img/1342186216-clip-21kb.jpg
ONDOWNLOAD FOLDER=* FILE=*

‘Загрузка изображения с помощью одного из следующих способов:
TAG POS=1 TYPE=IMG ATTR=HREF:https://*.jpg CONTENT=EVENT:SAVEITEM
‘TAG POS=1 TYPE=IMG ATTR=HREF:https://*.jpg CONTENT=EVENT:SAVEPICTUREAS

Здесь:

  • SAVEITEM — событие для сохранения объектов, в основном изображении, с любого веб-сайта. Для указания папки загрузки файла используется команда ONDOWNLOAD (с ее помощью определяется местоположение и имя загружаемого файла);
  • SAVEPICTUREAS — Сохранить изображение как..
  • SAVETARGETAS — Сохранить объект как..
  • ATTR=HREF: some_url (https://*.jpg) – выбор ссылки по заданному URL

Синтаксис команды VERSION

«VERSION BUILD=», здесь:

  • BUILD — Указывает версию и номер сборки.

Когда происходит запись макроса в iMacros, рекордер добавляет к нему атрибут «RECORDER=FX», который не несет никакой командно-смысловой нагрузки.

Пример:

VERSION BUILD=7031111 RECORDER=FX,

Версия 7.03 (Build 1111), записана при помощи Firefox.

Уфф-ф, некоторые базовые команды и их синтаксис осилили, теперь конечно же не плохо было бы рассмотреть пару неиллюзорных примеров, да и вообще научиться создавать свои собственные макросы, основываясь на всех этих командах. И все это будет, правда уже в следующей статье, так сказать чисто практической, поэтому далеко не уходим, ждем продолжения.

А пока, как минимум изучите возможность записи действий, попробуйте что-то редактировать и тд и тп. В общем, инструмент полезный, так что есть смысл осваивать.

к содержанию ↑

Послесловие

В заключении хотелось бы еще раз сказать, что iMacros действительно полезная в быту вещица, но таки, чтобы раскрыть потенциал оной в полном объеме, необходимо повозится с мануалами, изучить demo-ролики, ну и вручную создать пару-тройку своих скриптов (последний пункт уже наша забота). Ну, или использовать по минимуму, опираясь на встроенную, собственно, запись макросов. Думайте :) Мы же, если Вам это интересно, постараемся статьями рассказывать по этой теме всякие новые штуки.

Результатом же всех этих стараний, если Вы таки решитесь их проделать станет сэкономленное время и автоматизация многих повседневно-рутинных операций при работе с интернетом и браузером. А это, в свою очередь, означает, что высвободившееся время можно потратить с пользой, например чаще на изучение сайта Заметки Сис.Админа и читать больше интересных, полезных статей для своего развития :) ;)

До новых встреч, уважаемые читатели! Как и всегда, будем рады услышать Ваши дополнения, вопросы, отзывы и всё такое прочее. Пишите в комментариях. Особенно вопросы, ибо, боюсь, что их таки будет прилично :)

PS: За существование данной статьи спасибо члену команды 25 КАДР

Создавая свою небольшую армию ботов, мы иногда начинаем задаваться вопросом, куда тратится оперативная память и почему загрузка процессора постоянно на 100%? Все же, хотелось бы оставлять работать ботов круглосуточно и семь дней в неделю, не боясь, что один из них зависнет или закрашит браузер.

Обычный ненастроенный Firefox за 24 часа работы начинает потреблять по 1-2 Гб оперативной памяти. Это очень-очень много. Если у нас работает один бот — то это еще терпимо, но если у нас запущено сразу 20-30 ботов, то это становится критично. На моем компьютере 16 Гб оперативки, с настроенным Firefox я могу запускатьт 30-50 ботов спокойно на одной машине(процессор у меня мощный 4-х ядерный — Core i7 6700 3.4Ghz). Через сутки работы, каждый процесс жрет по 350-500 Мб памяти.

Hello world

Основной прием, которому стоит научиться, — запись действий в браузере и последующее их воспроизведение. Перейдем на вкладку Record на панели в левом нижнем углу экрана и нажмем на кнопку Record Macro. Теперь вобьем в Google «Hello world» и нажмем Enter. Потом кнопку Stop (под кнопкой Record Macro). iMacros сгенерировал код, который можно многократно запускать и редактировать:

VERSION BUILD=7020226 RECORDER=CR URL GOTO=https://www.google.ru/?gfe_rd=cr&ei=Jw5gU4LuF9CWwAPQuIG4Ag TAG POS=1 TYPE=INPUT:TEXT FORM=ID:gbqf ATTR=ID:gbqfq CONTENT=helloworld TAG POS=1 TYPE=BUTTON FORM=ID:gbqf ATTR=ID:gbqfb

Функция записи макросов дает возможность лишний раз не заглядывать в документацию и автоматизировать простейшие задачи, не заморачиваясь написанием кода.

Макрос в Мозиле запускается одной кнопкой. Соответствующая иконка появиться в панели быстрого доступа рядом с кнопкой меню настроек.

С левой стороны открывшейся вкладки с макрос-инструментом есть три кнопки основных действия:

Воспроизведение макросов – благодаря этой вкладке можно просматривать свои готовые или скачанные извне макросы.

Запись – создание скриптов для выполнения задач по автоматическому заполнению тех или иных форм.

Manage – управление настройками, помощь в освоение продукта и многое другое.

Примечание: Зайдя во вкладку «Manage», пользователь может нажать на кнопку «Помощь» и подробно изучить все возможности приложения iMacros. Все разделы очень подробно описывают пошаговые манипуляции с полезным приложением. Содержимое вкладки «Помощь» на английском языке. Пользователей, не владеющим в полной степени иностранным языком, не должно смущать это обстоятельство. Так как в браузере Mozilla Firefox можно установить дополнительное расширение-словарь и спокойно переводить все пункты на родной язык. Подробности, как воспользоваться он-лайн словарём в статье «переводчик для Firefox».

Firefox iMacros – полноценный инструмент, готовый к незамедлительному использованию сразу после установки. Как и любое другое дополнительное расширение для интернет-обозревателя Мозила данное расширение легко как устанавливать, так и удалять в случаи необходимости.

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

Надёжный антивирус, бдительность и внимательность никогда и никого не подведут!

Вызов iMacros из кода

Любой макрос можно сохранить в файле с расширением iim и использовать в приложениях, написанных на 16 языках программирования. Только надо не забыть установить полную версию (не аддон) iMacros на компьютер или веб-сервер.

Поддерживаемые языки

  • ASP
  • ASP.NET
  • C#
  • C++
  • Delphi
  • FoxPro
  • Java
  • JavaScript
  • Perl
  • PHP
  • Python
  • Power Shell
  • Ruby
  • TCL
  • VBA
  • VBS

Установка приложения

Существует 2 версии программы IMacros: отдельное standalone приложение для Windows и плагин для некоторых популярных интенет-обозревателей. К сожалению, Яндекс в их число не входит, поэтому вам подойдет только общая версия.

Для того чтобы воспользоваться утилитой, пользователям необходимо установить ее. Вы можете загрузить софт со специального вебсайта, посвященному IMacros — https://imacros.ru.uptodown.com/download/17868.

  1. Перейдите по представленной ссылке, после чего автоматически будет запущен процесс загрузки установочного файла.

  2. Если процесс не начался, щелкните по соответствующей кнопке на открытой странице.
  3. Запустите сохраненный exe-файл.
  4. Кликните по кнопке «Далее» («Next»).
  5. Внимательно ознакомьтесь с представленным лицензионным соглашением и установите галку напротив пункта «I agree» («Я согласен»). Перейдите далее.

  6. Укажите директорию, в которую будет установлены служебные файлы программного обеспечения.
  7. Задайте название каталога в меню «Пуск».
  8. Щелкните по кнопке «Install» («Установка»).
  9. Подождите, пока будут распакованы все файлы программы и внесены соответствующие записи в реестр.

WWW

  • Пользователи iMacros для Firefox могут делиться между собой исходниками с помощью закладок Delicious. Подробности здесь: wiki.imacros.net/iMacros_for_Firefox#Bookmarking
  • Полный мануал по iMacros: wiki.imacros.net
  • Сайт производителя: imacros.net

Batch-файлы

Вызов iMacros из батников — наиболее простой и удобный путь автоматизировать их выполнение. Достаточно одной строки для запуска макроса:

«ProgramFilesiOpusiMacrosiMacros.exe» -macro «….MacrosDemoRegExpSearch.iim»

C++

Основная сложность в использовании iMacros под C++ — настройка среды разработки (конкретику по версиям различных сред ищи в документации или спрашивай у саппорта). Принцип работы кода такой же, как в PHP:

IAppPtr app = IAppPtr(__uuidof(App)); Status s = app->iimInit(«», true, «», «», «», cTimeout); s = app->iimPlay(«wsh-extract-rate», cTimeout); // Запуск wsh-extract-rate s = app->iimExit(cTimeout);

Использование JavaScript в макросах

В iMacros можно присваивать переменным результаты выполнения JavaScript-кода c помощью команды EVAL:

SET JSVAR EVAL(«var JSVAR = 45+5; JSVAR;»)

PHP

iMacros можно запускать с веб-сервера, используя PHP-скрипт. Зачем это может пригодиться? Для пополнения базы данных посредством мониторинга информационных сайтов, генерации онлайн-табло результатов тестирования состояния серверов и так далее. Пример вызова макроса, осуществляющего поиск на странице:

Создание профилей в Firefox 35

Если неохота разбираться — вы можете сразу .

Для наших iMacros-ботов мы будем использовать не самую актуальную версию браузера Firefox. Она шустрее и менее прожорливая, чем последние версии этого браузера. Небольшое примечание: до 39 версии FF присутствует 0-day уязвимость в библиотеке для чтения PDF-файлов — pdf.js.

  1. Качаем портабельную версию Firefox 35 отсюда — portableapps.com
  2. Давайте создадим папку под все наши ботоводные дела на диске с:(используйте именно диск c: — потом удобнее будет разворачивать ботофермы на VPSVDS) C:BOTS
  3. Установите FireFox в папку C:BOTSff35
  4. Заходим в папку C:BOTSff35AppFirefox и удаляем следующие файлы: maintenanceservice.exe maintenanceservice_installer updater.exe updater.ini update-settings.ini
  5. Кликаем правой кнопкой мыши на файле firefox.exe и жмякаем «Создать ярлык». Открываем свойства созданного ярлыка и в поле «Объект» прописываем C:BOTSff35AppFirefoxfirefox.exe -no-remote -profile «C:BOTSff35AppDefaultDataprofilesdefault» default — это будет имя нашего профиля. Примечание: если без создания профилей запустить несколько окон Firefox и в каждом из них iMacros-скрипт — то скрипты одновременно не будут работать, поскольку будет один процес firefox.exe на все окна. Чтобы в каждом окне обрабатывать разные макросы мы используем флаг «-no-remote», на самом деле это небольшой хак, но он позволяет запускать для каждого профиля свой отдельный процесс.

  6. Заходим в папку C:BOTSff35AppDefaultData и создаем в ней папку profiles
  7. После запуска браузера через ярлык, у нас автоматом создастся папка C:BOTSff35AppDefaultDataprofilesdefault
  8. Теперь мы можем копировать эту папку default много раз, не забывая переименовывать, чтобы создать кучу профилей.

Выполнение макросов по расписанию

Для отсрочки выполнения команды на n-е количество секунд существует команда WAIT. Пример:

WAIT SECONDS=10.

Для более сложного планирования выполнения макросов надо прибегать к помощи сторонних языков программирования. Простейшие варианты — batch-файлы + Windows Task Sheduler или PHP + Crontabe.

Рис. 4. Окно редактирования макроса

Работа с IMacros

Для работы вам потребуется запустить установленное приложение и открыть Яндекс-браузер. Для того чтобы создать новый макрос, пользователям необходимо кликнуть по кнопке «Record» («Запись»). После этого вы можете совершить определенные действия в обозревателе, которые хотите сохранить. Когда работа будет завершена, кликните по кнопке «Stop» («Стоп»).

Все проделанные вами шаги будет переведены в программный код и записаны в специальный исполняемый файл. Вы можете выбрать нужный вам файл и нажать «Start» («Старт») для исполнения макроса в Яндекс.

iMacros для Яндекс Браузера все-таки Возможен! И в статье я постараюсь вам объяснить, как расширение для автоматизации ваших действий в интернете можно запустить в этом браузере.

Для начала, скачать последнюю версию браузера можно по следующей ссылке:

Тестирование сайтов

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

‘Загружаем страницу и записываем в бортовой журнал время на ее загрузку URL GOTO=https://example.com/about STOPWATCH ID=PageAbout ‘Вводим имя и фамилию пользователя в формы и замеряем время, затраченное на отправку данных TAG POS=1 TYPE=INPUT:TEXT ATTR=NAME:username CONTENT=Ira TAG POS=1 TYPE=INPUT:TEXT ATTR=NAME:usersurname CONTENT=Chernova TAG POS=1 TYPE=BUTTON:SUBMIT FORM=ID:SendInfo ATTR=TXT:SendInfo STOPWATCH ID=SendInfo

Результаты измерений сохраняются в ImacrosDownloadsperformance_Stopwatch.csv.

Инсталляция дополнения

Здесь все предельно просто. Ведь все дополнения из официального магазина Mozilla устанавливаются всего в пару кликов. Классических инсталляторов здесь нет. Все происходит в автоматическом режиме без участия пользователя. Перед установкой дополнения производится его проверка.

  1. Переходим по ссылке https://addons.mozilla.org/ru/firefox/.
  2. После этого в строке поиска вводим имя нужного расширения. К примеру, «iMacros» и снова жмем на кнопку Enter.

  3. В результатах поиска выбираем нужный плагин и кликаем по названию.

  4. Затем нажимаем на кнопку с надписью «Добавить в Firefox».

Вот и весь процесс инсталляции. Через несколько секунд после нажатия на ту самую кнопку расширение будет установлено в веб-обозреватель и его иконка появится на панели инструментов. После инсталляции можно переходить к настройкам дополнения. Вот так можно скачать и установить iMacros – расширение для Mozilla Firefox.

SRC

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

  • заполнение полей форм из CSV-файлов;
  • извлечение данных из таблицы в CSV-файл;
  • установка значений в селектах и переключателях (radio buttons);
  • сохранение картинок с сайта;
  • обработка всплывающих JS-диалогов;
  • печать страницы;
  • создание скриншотов;
  • измерение времени на загрузку отдельных элементов страницы и выполнение сценариев;
  • извлечение данных из форм и прочих частей веб-сайта.

Записываем задачу

После установки дополнения возникает вопрос: как им пользоваться? Интерфейс довольно простой – трудностей в работе с ним возникнуть не должно. Сначала попробуем воспроизвести задачу, уже имеющуюся в дополнении.

  1. Нажмите на иконку расширения на верхней панели браузера. Запустится небольшое окно – это и есть меню программы.
  2. Кликните по папке Demo – Firefox. Нажмите на кнопку «Воспроизвести», которая находится под списком.

Что нужно сделать, чтобы задать сценарий определенной задачи?

Обзор VKSaver для Firefox

  1. Перейти на раздел «Запись» в нижней части меню расширения.
  2. Нажать на соответствующую кнопку старта и произвести те действия, которые потом должен будет сделать браузер вместо вас. Действия должны быть только внутри браузера.
  3. Кликните по кнопке «Стоп», когда выполните задачу. Потом нажмите на «Сохранить как…».
  4. Сценарий будет автоматически сохранен в заданной папке. Его вы сможете тут же открыть, кликнув по кнопке «Воспроизвести». Вы можете также переименовать задачу, чтобы ее было потом удобно искать.

Плагин является удобным средством для заполнения форм при совершении покупок в интернет-магазинах. Достаточно запустить запись и заполнить один раз форму – дальше дополнение будет делать это за вас.

Все безопасно, так как сценарии сохраняются только на вашем ПК – передачи данных куда-либо не происходит.

iMacros для Mozilla Firefox

Веб-обозреватель «Мазила Фаерфокс» является одним из самых популярных приложений для интернет-серфинга в сети. Помимо отличного быстродействия и стабильности функционирования, он может предложить пользователю инструмент для кастомизации возможностей обозревателя – это использование специальных программ-дополнений.

Одним из таких модулей является плагин iMacros для Firefox версии 8.9.7, который можно скачать бесплатно на русском языке через пункт «Дополнения» основного меню опций обозревателя «Фирефокс».

После активации дополнение отображается в виде пиктограммы с шестеренками.

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

Рассмотрим ниже основные этапы работы с Аймакрос для Фаерфокс

Запись нового макроса

Чтобы записать часто повторяемую последовательность действий, нужно сделать следующее:

  1. Щелкнуть мышкой по иконке iMacros.
  2. Появится меню дополнения. Нажимаем кнопку «Запись».

  3. Выполнить ряд действий, которые нужно автоматизировать (открыть вкладку, перейти по веб-адресу, создать новую страницу и так далее).
  4. Для завершения записи надо кликнуть по надписи «Стоп».

  5. Далее можно сохранить созданную мини-программу и дать ей уникальное имя.

Запуск ранее созданного макроса

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

  1. Запустить интернет-обозреватель «Мазилла».
  2. Нажать на пиктограмму дополнения «АйМакрос» с рисунком шестеренки.
  3. В появившемся окне найти нужный макрос, кликнуть по нему правой клавишей мышки и в контекстном меню выбрать «Воспроизвести».

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

Требования к системе для нормальной работы дополнения не отличаются от таковых для веб-обозревателя «Мозилла»:

  • процессор с двумя ядрами, работающими на частоте от 1,5 ГГц;
  • от 1 Гб оперативной памяти (рекомендуется 2 Гб);
  • не менее 100 Мб пространства на винчестере персонального компьютера;
  • наличие стабильного подключения к сети;
  • операционная система «Виндовс XP SP3» или новее.

Достоинства addons iMacros

К главным плюсам расширения можно отнести следующие его свойства:

  1. Реализация самой идеи записи однообразных действий.
  2. Бесплатность использования модуля.
  3. Наличие русской версии.
  4. Простота в использовании плагина.
  5. Возможность создания неограниченного количества программ-макросов для разных наборов однотипных манипуляций.

Дополнение iMacroc, информация о котором была представлена выше, можно по праву назвать одним из самых полезных расширений веб-обозревателя «Мозила Фаерфокс», учитывая, насколько его применение облегчает работу пользователю персонального компьютера.

источник

Программа iMacros экономит ваше время при работе в Яндекс.Браузере на Windows 10

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

  • 1. Открыть щелчком мыши интерфейс утилиты.
  • 2. Нажать «Record» (Запись).
  • 3. Выполнить последовательность действий, которые требуется автоматизировать.
  • 4. Нажать кнопку «Stop».
  • 5. В случае необходимости запустить записанный макрос (действия в веб-браузере).

Если вам потребуется ещё один макрос, снова выполните эту инструкцию.
Также скачать iMacros для Яндекс.Браузера можно тем пользователям, которые желают организовать автоматическое выполнение действий в элементах сайтов на базе Flash и Java. Аддон полностью поддерживает работу с этими платформами.

Побродив по интернету, я увидел, что материалов по Imacros на русском языке не так много. Они сильно разрозненны по интернету. Иногда приходится долго “гуглить” что бы что-то найти.

А переводить английскую вики иногда просто нет желания. Я решил восполнить этот пробел, и выкладывать на этом блоге свои наработки.

Многие пользователи даже не знают, как пользоваться Imacros, как написать скрипт, свой первый скрипт.

Как установить Imacros

В этой инструкции, я расскажу как установить Imacros для Firefox. Описывать установку на другие браузеры не имеет смысла, так как они более урезанные по функционалу.

Если по каким-то причинам это расширение не находится (иногда сайт мозиллы глючит) – .

Что вызвать окно Imacros в браузере – жмем F8 и оно появится слева.

Как пользоваться Imacros

Написать первоначальный скрипт Imacros достаточно просто – активируем возможность записи действий пользователя в окне Imacros.

Жмем кнопку “Запись” и делаем что-то в браузере. Завершаем запись нажатием кнопки “Стоп”.

В итоге у вас появится скрипт под дефолтным именем – #Current.iim, советую сразу переименовать его. Так как если вы второй раз нажмете на запись, то этот скрипт затрется.

Чтобы переименовать скрипт можете воспользоваться кнопкой “Сохранить как..” или можно щелкнуть правой кнопкой по скрипту в окне и выбрать пункт меню “Переименовать”.

Итак, первый скрипт написан. Пробуем его запустить и проверяем его работу.

Переходим на вкладку “Воспроизведение” и жмем на кнопку “Воспроизвести”

Как видно на скриншоте – есть возможность повторить воспроизведение скрипта нужное количество раз. для этого ставим максимально нужное нам количество повторений макроса и жмем кнопку “Воспр. (Цикл)”.

Отладка скрипта Imacros – это манипулировании с опциями записи (вкладка “запись” – кнопка “Record options”) и последующей вставки рабочего куска в листинг скрипта.

Играя с флажками на этой вкладке и записывая скрипт снова и снова – добиваемся нужного функционала.

Ошибки в скрипте и что с ними делать

Вы запустили скрипт – он дошел до какой-то строки и остановился с ошибкой.

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

В некоторых специфических случаях достаточно просто вписать в начало скрипта команду пропуска ошибок.

Automate your web browser. Record and replay repetitious work

Version 10.0.5 maintenance release * Fixed: SaveAs dialog * Fixed: Macros with capitalized extension name .IIM do not get displayed in the tree * Fixed: SAVEAS TYPE=EXTRACT FILE=+… duplicates the name of the file * Fixed: !TIMEOUT_STEP 0 not working * Improved: Close iMacros dialogs (prompt, extract, etc) by pressing Enter * Other minor fixes iMacros for Chrome 10.0 is a web automation solution that offers an updated, cleaner user interface combined with new support for file uploads and full support for Events mode. ⚑ Need to continue using your existing macro (.iim) files but don’t have the File Access module? See https://wiki.imacros.net/FAQ#Q:_How_do_I_use_my_existing_macro_.28.iim.29_files_with_iMacros_for_Chrome_without_the_File_Access_module.3F ⚑ We have collected a few other tips on using iMacros for Chrome freeware in https://wiki.imacros.net/iMacros_for_Chrome#Tips_for_using_iMacros_for_Chrome_freeware Read what is new: * New color and icons, modern and clean design * New support for file uploads * Added replay speed control to the iMacros Settings * Added support for the !PLAYBACKDELAY command * Added read-only !FOLDER_MACROS and !FOLDER_DOWNLOAD variables to specify the directory for saving macros * Events mode now fully supported. * Fixed numerous software errors With the release of iMacros for Chrome 10.0, some features are only available with a Personal Edition (or higher) license. Purchase any iMacros license (https://imacros.net/store) and download the File Access for iMacros Extensions module from your Ipswitch account. Customers with active service agreements for iMacros 12 already will be able to access this new module for upgrading to the full version of iMacros for Chrome 10.0. Download the installer from your Ipswitch Community account. If you encounter any problems with iMacros for Chrome, please let us know in our Chrome user forum at https://forum.imacros.net/viewforum.php?f=21 Our forum is also the best place for new feature suggestions. —- iMacros is designed to automate the most repetitious tasks on the web. If there’s an activity you have to do repeatedly, just record it in iMacros. The next time you need to do it, the entire macro will run at the click of a button! With iMacros, you can quickly and easily fill out web forms, remember passwords, create a webmail notifier, and more. You can keep the macros on your computer for your own use, use them within bookmark sync / Xmarks or share them with others by embedding them on your homepage, blog, company Intranet or any social bookmarking service as bookmarklet. The uses are limited only by your imagination! Popular uses are as web macro recorder, form filler on steroids and highly-secure password manager (256-bit encryption). Web developers use iMacros for web regression testing, performance testing and web transaction monitoring. It can also be combined with Google Speed Tracer, Firebug and other web development and test tools. XPath support is included. iMacros can be combined with Greasemonkey style content scripts and the macros can be started via the command line e. g. via the Windows task scheduler, batch files or a Linux cron job. You can combine iMacros with ad-blocking extensions like AdBlock, FlashBlock and AdThwart to speed up the web browsing. It does not work in IE Tab, but for IE we have iMacros for Internet Explorer. Macros recorded with iMacros for Chrome can be replayed in iMacros for IE and iMacros for Firefox without changes! All iMacros versions combined have millions of active users, making it the most popular web browser automation tool. For more information please visit https://wiki.imacros.net/iMacros_for_Chrome and the active user forum at https://forum.imacros.net/ .

Каждый день пользуясь браузером Гугл Хром мы совершаем множество одних и тех же действий: открываем одни и те же вкладки, указываем одни и те же регистрационные данные, это далеко не все. Согласитесь, куда лучше было бы автоматизировать эти процессs, и выход есть — скачать iMacros. А что это такое, как установить и использовать мы расскажем далее.

Установка

Существуют версии программы и расширений для всех популярных на сегодняшний день веб-обозревателей. Наилучший функционал имеет версия продукта для Firefox, но и пользователи Yandex Browser, Chrome и Internet Explorer имеют возможность работать с iMacros.

Существует два варианта установки:

  • расширение для браузера;
  • как отдельная программа на компьютере.

Разберем порядок установки для каждого веб-обозревателя отдельно.

Yandex Browser

К большому сожалению, разработчиками не предусмотрено отдельное дополнение для этого веб-обозревателя. Тем, кто хочет воспользоваться iMacros для Яндекс браузера, придется скачивать инсталлятор. Порядок действий следующий: 1. Перейти на официальный сайт разработчиков https://imacros.net/download/.

2. Выбрать бесплатную версию для Chrome и нажать кнопку «Загрузить сейчас».

3. Заполнить регистрационную карточку и нажать «Загрузить».

4. Дождаться загрузки инсталятора на компьютер и запустить его.

5. Следовать инструкции мастера установки, по окончании работы которого нажать кнопку «Готово».

Понравилась статья? Поделить с друзьями:
  • I am not как сокращенно написать
  • Hyundai как пишется на русском языке
  • Html5 как написать сайт
  • Html формула как написать
  • Html как написать текст справа от картинки