iMacros: создание макросов в браузере Mozilla Firefox

Содержание

Автоматизируем любые действия в браузере с iMacros – «Хакер»

iMacros: создание макросов в браузере Mozilla Firefox

iMacros — это программа, которая позволяет автоматизировать и имитировать действия пользователя в браузере.

По словам разработчиков, iMacros загрузили 9 миллионов раз, но лишь 240 тысяч юзеров активно используют приложение. То есть лишь 3% из установивших продукт нашли ему применение. И неслучайно.

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

Рис. 1. Начало работы iMacrosДругие статьи в выпуске:

  • выпуска
  • Подписка на «Хакер»

Есть два варианта установки iMacros:

  • в качестве расширения (add-ons) для браузера (Firefox, Chrome или Internet Explorer),
  • как отдельное приложение (только для Windows).

В описанных ниже примерах использован iMacros Firefox add-on.

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

VERSION BUILD=7020226 RECORDER=CRURL GOTO=//www.google.ru/?gfe_rd=cr&ei=Jw5gU4LuF9CWwAPQuIG4AgTAG POS=1 TYPE=INPUT:TEXT FORM=ID:gbqf ATTR=ID:gbqfq CONTENT=helloworldTAG POS=1 TYPE=BUTTON FORM=ID:gbqf ATTR=ID:gbq

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

В браузере Chrome не работает треть iMacros-команд (какие — см. документацию). Поэтому лучше использовать Firefox (90% возможностей) или Internet Explorer (наиболее полный функционал).

Предположим, нам нужно заполнить информацию о товарах интернет-магазина через CMS-админку (конкретный пример написан для Insales). Названия, описания, цены и остатки хранятся в файле CSV. Эту задачу можно мгновенно выполнить с помощью небольшого макроса:

SET !DATASOURCE products.csv ‘подключаем файл CSV (лучше прописывать абсолютный путь)SET !LOOP 4'делаем построчный обход файла и для каждый строки выполняем код, приведенный далее SET !DATASOURCE_LINE {{!LOOP}}'открываем страницу добавления товараURL GOTO=//example.com/newproduct'записываем значение первого поля файла CSV в форму для названия товараTAG POS=1 TYPE=INPUT:TEXT FORM=ID:new_product ATTR=ID:product_title CONTENT= {{!COL1}}'записываем значение второго поля файла CSV в форму для короткого названия товараTAG POS=1 TYPE=TEXTAREA FORM=ID:new_product ATTR=ID:product_short_description CONTENT= {{!COL2}}'третье и четвертое поле — аналогичноTAG POS=1 TYPE=INPUT:TEXT FORM=ID:new_product ATTR=ID:product_variants_attributes__price CONTENT= {{!COL3}}TAG POS=1 TYPE=INPUT:TEXT FORM=ID:new_product ATTR=ID:product_variants_attributes__quantity CONTENT={{!COL4}}'после ввода всех данных о товаре сохраняем его в каталогTAG POS=1 TYPE=INPUT:BUTTON FORM=ID:new_product ATTR=*// А вот так выглядит products.csv:”Товар 1″,”Опиcание товара 1″,”555″,”7″”Товар 2″,”Опиcание товара 2″,”722″,”13″”Товар 3″,”Опиcание товара 3″,”234″,”9″”Товар 4″,”Опиcание товара 4″,”301″,”11″ Рис. 2. Запись макроса

Извлечение данных из веб-страниц

А теперь представим обратную ситуацию. Когда нужно просмотреть каталог магазина-конкурента и сохранить информацию о товарах.

'Этот код извлекает текстовое содержимое из абзацев, имеющих атрибут “class”, равный “product_description”TAG POS=1 TYPE=P ATTR=CLASS:product_description EXTRACT=TXT'А этот сохраняет его в файлSAVEAS TYPE=TXT FOLDER=”C:\” FILE=”product_desc.txt”'А вот команда для запуска диалогового окна сохранения картинки и нажатия кнопки подтверждения:TAG POS=1 TYPE=IMG ATTR=ID:product_image CONTENT=EVENT:SAVEITEM ONWEBPAGEDIALOG KEYS={down2}{tab1}{enter}

Естественно, весь этот код можно использовать в цикле с динамическими переменными.

Рис. 3. Панель запуска макроса

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

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

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

Batch-файлы

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

“ProgramFiles\iOpus\iMacros\iMacros.exe” -macro “..\..\Macros\Demo\RegExpSearch.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-rates = app->iimExit(cTimeout);

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

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

SET JSVAR EVAL(“var JSVAR = 45+5; JSVAR;”)

PHP

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

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

WAIT SECONDS=10.

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

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

Если сайт сделан на Flash, Flex или SilverLight, то к его элементам нельзя обратиться стандартными способами (по идентификаторам DOM-разметки). Необходимо использовать координаты объекта на веб-странице:

'клик по точке с координатами и ввод текстаDS CMD=MOVETO X=455 Y=224 CONTENT={BACKSPACE} текст

С помощью координатной адресации можно даже имитировать drag and drop. Перед записью макроса для Flash-сайта необходимо включить Use Direct Screen Commands в настройках.

С помощью команды SCREENSHOT TYPE=(PAGE|BROWSER) FOLDER=folder_name FILE=file_name можно сделать скриншот всей страницы, а используя TAG + обращение к элементу + CONTENT=EVENT:SAVE_ELEMENT_SCREENSHOT — отдельной ее части.

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

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

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

По умолчанию в случае возникновения какой-либо ошибки выполнение макроса останавливается. Этого можно избежать, прописав в начале !ERRORIGNORE YES.

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

PROXY ADDRESS=127.0.0.1:8888

Альтернативы

  • ZennoPoster
  • Selenium IDE
  • DejaClick
  • UBot Studio

Если ты хочешь запечатлеть лучшие моменты работы iMacros на видео — используй плагин Capture Fox для Mozilla или Screencastify для Chrome.

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

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

В этой статье рассмотрены возможности iMacros, позволяющие решать тривиальные проблемы, с которыми может столкнуться любой IT-специалист или просто активный пользователь инета.

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

Поэтому, если ты не нашел здесь ничего, что могло бы облегчить твою рутину в Сети, не отчаивайся и загляни в документацию или на форум imacros.net.

Источник: //xakep.ru/2014/10/20/imacros/

Расширения автоматизации и программирования

iMacros: создание макросов в браузере Mozilla Firefox

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

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

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

Например, в Google производите поиск, открывается страница с результатами, к примеру по 30 результатов на странице, а всего допустим вы желаете просмотреть 300 результатов, так вот, чтобы мышкой не нажимать кнопку “следующая” 100 раз, AutoPager автоматически подгружает последующую страницу (одну или более, в зависимости от настроек).

Рис.1 Скриншот автозагрузки страницы поиска в Google. AutoPager автоматически подгружает следующую страницу и вставляет разделитель.

Программа для автозагрузки страниц AutoPager, разработана для следующих браузеров: Firefox, Google Chrome , Opera, Safari, Fennec, Maxthon, MicroB

AutoPager работает со всеми сайтами и форумами.

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

Рис.2 Окно настройки программы AutoPager.

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

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

В программе встроена возможность использовать AutoPager как генератор языка XPath.

Рис.3 Окно программы AutoPager для создания правил для текущего сайта, поиска в интернете и тестирования правил.

Страница установки автозагрузчика веб-страниц – addons.mozilla.org

Страница готовых правил автозагрузки веб-страниц для сайтов, где вы можете скачать их и установить – //ap.teesoft.info/, на странице правил, работает поиск по адресу (URL) сайта

Домашняя страничка проекта автозагрузчика веб-страниц – //www.teesoft.info/

Руководство синтаксиса языка XPath и его возможности на русском языке в переводе Vasil Yaroshevich – zvon.org

Описание синтаксиса языка XPath на английском языке – //www.w3schools.com/xpath/

Расширение “iMacros for Firefox”

iMacros for Firefox” – Мощная система макросов для автоматизации в браузере Mozilla Firefox (Pale Moon).

Записывает и воспроизводит определенные действия.

Рис.4 Окно настройки программы iMacros, вызывается из “Инструменты” – “Дополнения” в браузере.

После установки iMacros, иконка приложения устанавливается на панель инструментов браузера.

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

Поставляется с макросами (для примера). Можно запрограммировать определенные действия с любыми веб-страницами, а также производить тестирование Java, Adobe Flash, Flex или Silverlight апплетов и элементов AJAX.

Рис.5 Окно программы iMacros для управления макросами.

Страница установки iMacros – addons.mozilla.org

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

  • Windows 8, Windows 7, Windows XP SP3, Windows Server 2003/2008/2008R2/2012, (32/64-бит)
  • Microsoft Internet Explorer 8, 9, 10
  • Mozilla Firefox версии 15 и выше
  • Google Chrome версии 22 и выше
  • 256 Мб оперативной памяти (рекомендуется 512 Мб)
  • 30 Мб свободного пространства на жестком диске

Программа iMacros входит в список самых долго загружающихся расширений, протестированных в Mozilla Firefox версия 4.

iMacros находится в четверке лучших дополнений Firefox за август месяц 2014г., по итогам выбора Mozilla. (Прим. Mozilla Firefox версия 31)

См. статью на нашем сайте: Лучшие расширения за август 2014

iMacros ®, Internet Macros ®, iOpus ® – зарегистрированные товарными знаками iOpus.

Расширение “Greasemonkey”

Самым функциональным для программирования и автоматизации в браузере Firefox, является расширение Greasemonkey.

Greasemonkey это менеджер пользовательских сценариев на базе JavaScript, позволяющий выполнять любые сценарии для веб-страницы в рамках ограничения системы безопасности Firefox.

Для Greasemonkey написано множество бесплатных сценариев, которые можно использовать для автоматизации работ с веб-страницей.

Страница для установки – addons.mozilla.org

Домашняя страница – //www.greasespot.net/

Не все расширения совместимы с Greasemonkey.

Greasemonkey находится в четверке лучших дополнений Firefox за август месяц 2014г., по итогам выбора Mozilla. (Прим. Mozilla Firefox версия 31)

См. статью на нашем сайте: Лучшие расширения за август 2014

Расширение “Update Scanner”

Update Scanner” – программа автоматически проверяет установленные пользователем, веб-страницы, на наличие обновлений на ней.

//www.youtube.com/watch?v=Q_sPFWgQTBE

Если на наблюдаемой веб-странице произошли изменения, то программа Update Scanner, выведет окошко оповещения о наличии произошедшего обновления веб-страницы.

Рис.6 Скриншот трех вкладок, для настройки программы Update Scanner

Update Scanner имеет настройки (см. Рис.6), где можно установить таймер проверки на наличие обновления страницы сайта.

Программа добавляет пиктограмму в виде стрелки, на панель статуса и в контекстное меню браузера Mozilla Firefox (Pale Moon).

При просмотре, все изменения произошедшие на наблюдаемой веб-странице, выделяются желтым цветом.

Установка расширения Update Scanner – addons.mozilla.org

Источник: //serfock.ru/manual-extention-block/summary-ext-cat/auto-ext-cat

Инструкция по использованию и настройке imacros

iMacros: создание макросов в браузере Mozilla Firefox

Imacros – дополнение (расширение) для браузера Mozilla Firefox.

imacros полноценно работает только в браузере Mozilla Firefox. С помощью аймакрос можно записывать различные действия внутри браузера, а затем, их воспроизводить.

урок по установке и настройке imacros

1.  Инструкция по установке imacros

2.  Инструкция по испльзованию и настройке imacros

3.  Вкладка “Воспр”

4.  Вкладка “Запись”

5.  Вкладка “Manage”

6.  Основные настройки imacros

7.  Пути к папкам

Инструкция по установке imacros

Шаг 1

ВНИМАНИЕ! Новая версия мазилы не подходит для imacros. Как установить imacros, подробнее по ссылке. После 3 шага всё остаётся по прежнему. Информация актуальна!

Шаг 2

Через несколько секунд появится табличка с кнопкой “Установить сейчас”, нажимаем.

Шаг 3

у с левой стороны появится табличка с кнопкой “Перезапустить сейчас”, нажимаем.

На этом установка imacros будет завершена.

 После установки (перезапуска), на панели навигации, появится значок imacros, нажимаем.

С левой стороны появится панель imacros. В окне imacros будут располагаться макросы.

На компьютере появятся 5 папок.

1 папка – Imacros будет располагаться в документах.

Пуск – Документы – imacros

В папке imacros будут 3 папки: Macros,  Datasources  и  Downloads

Macros – папка, где будут расположены макросы для их отображения в окне imacros.

Datasources – по умолчанию imacros с этой папки извлекает информацию из текстовых документов для вставки их в различные места на веб страницах.

Downloads – по умолчанию imacros в данную папку сохраняет различные элементы с веб страниц: текст в текстовый файл, скриншот капчи и т.д.

В папке Macros находится 1 папка Demo-Firefox

Demo-Firefox – папка, в которой расположены различные макросы для пробы, ознакомления с ними о том, как они работают. По желанию папку можно удалить.

Вернёмся к панели imacros

Вкладка “Воспр.”

Во вкладке “Воспр.” находятся кнопки:

Сначала, мы должны из окна imacros выбрать тот макрос, который хотим воспроизвести.

Воспроизвести – воспроизводит один раз (1 цикл) макрос и останавливается.

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

Стоп – полностью прерывает и останавливает работу макроса.

Воспр. (Цикл) – Воспроизводит макрос столько раз, сколько было указано в поле “Макс”. Максимум можно указать 99999 циклов. Минимум 1.

Поле “Текущий” – отображает текущий повтор (цикл) макроса.

Вкладка “Запись”

Во вкладке “Запись” находятся кнопки:

Запись – начинает записывать внутри браузера действия мышки и клавиатуры. После нажатия кнопки запись, в окне imacros создаётся макрос под названием #Current.iim, в котором записываются действия.

Сохранить как – сохраняет записанный макрос в указанную папку.

Стоп – останавливает запись макроса и сохраняется в окне imacros.

Record options – режим записи.

Сохр. страницу – сохраняет html страницу на компьютер.

Take Screenshot – сохраняет в папку Downloads полный скриншот веб страницы.

Удал. кеш куки – удаляет из браузера сохранённые данные, кеша и куки.

Ждать при воспр. – после нажатия кнопки “Запись”, можно нажать на кнопку “Ждать при воспр.” и указать время ожидания в секундах перед следующим дествием- от 1 и выше.

Вкладка “Manage”

Во вкладке “Manage” находятся кнопки:

Редактировать – выбираете макрос или скрипт и нажимаете редактировать. Откроется окно с кодом макроса/скрипта, редактируете код и сохраняете. Также, можно отредактировать код, нажав правой кнопкой мышки на макрос/скрипт и выбрать – редактировать.

Макро – позволяет отправить на электронную почту ваш макрос. Считаю, легче открыть папку macros, скопировать макрос(ы)/скрипт или папки с макросами, вставить на флешку. Их можно как обычные файлы прикреплять к письму на почте и отправлять. Делиться можно как обычными файлами.

Обновить список – если вы поместили в папку macros: макросы, скрипты, папки с макросами и в это время была открыта панель imacros в браузере, то они сразу не отобразятся, нужно нажать на “Обновить список” или закрыть панель imacros и заново открыть.

Опции – настройки imacros, можно задать следующие значения из основных, это: скорость воспроизведения макроса/скрипта, пути к папкам, в которых лежат макросы. Отдельно к опциям мы ещё вернёмся.

Помощь – открывает веб страницу imacros с различными пояснениями на английском языке.

Локальный тест – отключает от сети, чтобы воспроизвести макрос/скрипт без использования Интернета.

Онлайн тест – заново подключается к сети Интернет.

Отправить на сервер – отправляет макрос или скрипт на сервер.

Основные настройки imacros

Дальше, рассмотрим основные настройки (необходимые, важные).

Manage – Опции – General

В опциях imacros, во вкладке General, можно установить следующие значения:

1. Скорость воспроизведения макроса/скрипта: Быстро, средне, медленно.

Оптимальный вариант – средне.

2. Скролировать объект – когда макрос нажимает на объект на веб странице: на фото, на ссылку, то страница перескакивает на  данные объекты. Лично мне это не нравится, так как постоянно страницу мотает то вверх, то вниз. Снимаем галочку.

3. Подсвечивать объект – подсвечивает объекты, куда макрос нажимает или заполняет поля и т.п. Удобно, оставляем галочку.

4. Use F8 – особо не имеет значения.

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

6. Показывать Javascript во время проигрывания – кроме макросов, существуют ещё управляющие джава скрипты, которые управляют макросами. Коды в макросе и в скрипте отличаются. Если поставить галочку, то при воспроизведении скрипта, в окне imacros будет показываться код скрипта. Если снять галочку, то при воспроизведении, код показываться не будет, а будет только код макросов.

7. Profile macro performance – сохраняет в папке Downloads в файлах .xml дату, время воспроизведённых макросов и их название. Лично я его не использую, снимаем галочку.

Для сохранения внесённых изменений нажимаем на Apply.

Пути к папкам

Manage – Опции – Paths

Во вкладке Paths находятся настройки по расположению папок, необходимых для работы.

1. Папка макросов. У каждого пользователя вместо User могут быть другие имена. По этому, если у Вас не отображаются макросы/скрипты/папки из папки macros, значит, путь к папке макросов указан не верно. Нажмите с правой стороны на значок лупы и укажите путь к папке macros. Также можно указать любую папку на компьютере, в котором будут расположены макросы.

2. Папка данных. С данной папки imacros берёт данные для внесения их на веб страницу. Можете также указать свой путь.

3. Папка закачек. В данную папки imacros сохраняет элементы с веб страниц. Это могут быть фотографии, текст и т.д.

4. Store data in profile folder. Если вы используете портативную версию браузера мазилы, то поставьте галочку. Макросы сохраняете на флешке. И, при запуске с флешки портативной версии браузера, макросы отобразятся в окне imacros.

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

[ – – – – – / – – – – – ]

Если вы хотите узнать ещё больше про imacros или у вас возникли проблемы при работе с ним:
выдаёт ошибку, что неверный путь; не отображаются скрипты в окне; зависает imacros то, рекомендую перейти в раздел статьи и узнать как решить эти проблемы.

Перейти в раздел – “Статьи”.

Источник: //imacros-script.ru/ob-imacros.html

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

iMacros: создание макросов в браузере Mozilla Firefox

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

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

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

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

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

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

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

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

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

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

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

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

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

Полученные в ходе наших действия команды iMacros сохраняет в файл #Current.iim. Чтобы воспроизвести их дважды кликнем на макрос #Current.iim, после чего iMacros должен произвести ряд записанных команд:
VERSION BUILD=7601105 RECORDER=FXTAB T=1URL GOTO=//www.yandex.ru/TAG POS=1 TYPE=INPUT:TEXT FORM=ACTION://yandex.ru/yandsearch ATTR=ID:text CONTENT= “Бесплатная CMS для интернет магазина Moguta”TAG POS=1 TYPE=INPUT:SUBMIT FORM=ID:form ATTR=VALUE:Найти

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

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

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

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

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

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

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

1start firefox “C:\Program Files\Mozilla Firefox\firefox.exe” //run.imacros.net/?m=#Current.iim.

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

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

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

#!/usr/bin/pythonimport imacrosiret = imacros.iimInit(“-fx”, True)iret = imacros.iimPlay(“CODE:URL GOTO=//www.iopus.com”)iret = imacros.iimExit()

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

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

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

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

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

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

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

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

1234567891011121314151617181920MyPosts = 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

Источник: //LifeExample.ru/jquery-javascript-primeryi/imacros-komandyi-skriptyi-primeryi.html

[Урок 1] . Возможности iMacros. Что мы будем использовать из iMacros, а что эффективнее делать на Javascript? | Artstroy – Искусное веб строительство!

iMacros: создание макросов в браузере Mozilla Firefox

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

В интернете довольно много информации об использовании iMacros. Многие люди используют его крайне примитивным образом.

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

Прежде чем начать

Не хотелось бы разжевывать совсем азы работы с iMacros — подобного материала много.

Если вы решили начать изучать использование iMacros совместно с Javascript — то, скорее всего, вы уже немного освоились со стандартными командами iMacros.

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

Стандартный функционал iMacros vs Javascript:

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

В Javascript функционал огромен, к тому же мы будем использовать не самую старую версию Firefox, а значит сможем порадоваться всяким новым и полезным фичам из HTML5 и ECMASCRIPT 6. Хочу пройтись немного по основным возможностям iMacros.

Что же нам использовать, а от чего лучше воздержаться?

Переход по ссылке

iMacros : URL GOTO=//ya.ru
JS: window.location = '//ya.ru'

Эту команду iMacros мы будем использовать, поскольку она синхронная, то есть код, написанный после нее, исполнится только тогда, когда страница загрузится или истечет таймаут, который кстати можно добавлять самому, например вот так iimPlayCode('SET !TIMEOUT 10URL GOTO=//artstroy.net/');

Переменные

iMacros : SET !VAR1 helloworld
JS: var var1= 'hello world';

Такое задание переменных — это абсолютно бесполезный кусок говна, во-первых мы ограничены в их количестве и в их именовании(VAR0 — VAR9).

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

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

Сохранение\чтение данных в CSV

iMacros : SET !DATASOURCE books.csv; SET !LOOP 2; SET !DATASOURCE_LINE {{!LOOP}}  

Не стал перечислять все команды из этой серии. Но, все что связано с чтением\сохранением в CSV, а также реализация циклов — это слишком отвратительно, чтобы использовать.

Когда только начинал изучать, я как-то раз делал сохранение и чтение списка страниц в csv стандартными средствами.

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

Извлечение данных из HTML-тэгов

iMacros : TAG POS=1 TYPE=DIV ATTR=CLASS:submeta EXTRACT=TXT
JS: window.document.querySelector(‘.submeta’).textContent; //Тут вариантов много как искать селектор

Мы будем использовать TAG для кликов по кнопкам, ссылкам и т.д. А также будем иногда использовать EXTRACT — он жизненно необходим, когда нужно выдрать картинку или какие-то данные из iframe — в этих случаях одним JS мы не обойдемся.

Сохранение скриншота любого элемента на странице

iMacros : ONDOWNLOAD FOLDER=c:/btc FILE=image.jpg WAIT=YES TAG POS=1 TYPE=DIV ATTR=class:ava CONTENT=EVENT:SAVE_ELEMENT_SCREENSHOT');

Это одна из важнейших стандартных возможностей — сохранение любого элемента страницы, даже не обязательно картинки,  в файл. На JS подобная задача заставила бы попотеть как следует и не факт, что полностью все получилось бы.

Преобразование текстовой строки в исполняемый код EVAL()

iMacros : SET !VAR1 EVAL(“Math.floor(Math.random()*10 + 1); “)
JS: var rndNumber = Math.floor(Math.random()*10 + 1);

EVAL из iMacros нам ни к чему. В JS есть свой eval(), и мы его будем использовать для некоторых редких ситуаций, где по-другому никак. Например при подгрузке стороннего макроса через Ajax и его выполнение.

Задержка на определенное время

iMacros : WAIT SECONDS=3
JS: setTimeout(function () {/*Do something*/}, 3000); //ms

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

Работа с фреймами

iMacros : FRAME F=2

Это одна из важнейших стандартных возможностей. Если не использовать iMacros — при помощи JS мы не сможем бессовестно ковыряться в чужих ифреймах и вытаскивать да и вставлять любое содержимое.  Однозначное да!

Переключение и закрытие табов

iMacros : 'TAB CLOSEALLOTHERS'; 'TAB T=1';

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

Я привел тут не весь список команд, а затронул только самое основное и самое важное. Большую часть работы можно делать на Javascript и использовать iMacros только там, где по-другому никак. В следующих уроках по iMacros будет рассмотрено больше команд.

Возможности iMacros + JavaScript + Firefox Extensions API

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

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

Источник: //artstroy.net/vozmozhnosti-imacros/

Поделиться:
Нет комментариев

    Добавить комментарий

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