Автоматизуємо будь-які дії в браузері з imacros

Автоматизуємо будь-які дії в браузері з imacros
Мал. 1. Початок роботи iMacros

Є два варіанти установки iMacros:

  • як розширення (add-ons) для браузера (Firefox, Chrome або Internet Explorer),
  • як окремий додаток (тільки для Windows).

В описаних нижче прикладах використаний iMacros Firefox add-on.

Hello world

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

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

У браузері Chrome не працює третина iMacros-команд (які - см. Документацію). Тому краще використовувати Firefox (90% можливостей) або Internet Explorer (найбільш повний функціонал).

Робота з даними

Заповнення форм з CSV-файлу з даними

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

Автоматизуємо будь-які дії в браузері з imacros
Мал. 2. Запис макросу

Витяг даних з веб-сторінок

Природно, весь цей код можна використовувати в циклі з динамічними змінними.

Автоматизуємо будь-які дії в браузері з imacros
Мал. 3. Панель запуску макросу

Виклик iMacros з коду

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

мови

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

Batch-файли

Виклик iMacros з батники - найбільш простий і зручний шлях автоматизувати їх виконання. Досить одного рядка для запуску макросу:

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

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

Виконання макросів за розкладом

Для відстрочки виконання команди на n-е кількість секунд існує команда WAIT. приклад:

Для більш складного планування виконання макросів треба вдаватися до допомоги сторонніх мов програмування. Найпростіші варіанти - batch-файли + Windows Task Sheduler або PHP + Crontabe.

Автоматизуємо будь-які дії в браузері з imacros
Мал. 4. Вікно редагування макросу

Direct Screen Technology

Якщо сайт зроблений на Flash, Flex або SilverLight, то до її елементів не можна звернутися стандартними способами (по ідентифікаторів DOM-розмітки). Необхідно використовувати координати об'єкта на веб-сторінці:

За допомогою команди SCREENSHOT TYPE = (PAGE | BROWSER) FOLDER = folder_name FILE = file_name можна зробити скріншот всієї сторінки, а використовуючи TAG + звернення до елементу + CONTENT = EVENT: SAVE_ELEMENT_SCREENSHOT - окремої її частини.

тестування сайтів

За допомогою iMacros можна легко написати програму для моніторингу часу реакції на різні дії користувача. приклад:

Результати вимірювань зберігаються в Imacros \ Downloads \ performance_Stopwatch.csv.

Обробка помилок

За замовчуванням в разі виникнення будь-якої помилки виконання макросу зупиняється. Цього можна уникнути, прописавши на початку! ERRORIGNORE YES.

Використання проксі-серверів

Для цього щоб під'єднатися до проксі-серверам перед виконанням макросу або під час його, використовуй команду proxy:

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

  • заповнення полів форм з CSV-файлів;
  • вилучення даних з таблиці в CSV-файл;
  • установка значень в СЕЛЕКТА і перемикачах (radio buttons);
  • збереження картинок з сайту;
  • обробка спливаючих JS-діалогів;
  • друк сторінки;
  • створення скріншотів;
  • вимір часу на завантаження окремих елементів сторінки і виконання сценаріїв;
  • вилучення даних з форм і інших частин веб-сайту.

висновок

У цій статті розглянуті можливості iMacros, що дозволяють вирішувати тривіальні проблеми, з якими може зіткнутися будь-який IT-фахівець або просто активний користувач інету. Всього ж інструмент включає в себе понад півсотні команд, оглянути які в форматі журналу неможливо. Тому, якщо ти не знайшов тут нічого, що могло б полегшити твою рутину в Мережі, не зневіряйся і зазирни в документацію або на форум imacros.net.

Покажи цю статтю друзям:

Раніше користувався з Ghost Automaizer, але він іноді поспішав а іноді і зовсім не натискав гарячі клавіші типу копіювати і вставити,
Imacros хороше річ, але у мене все дані зберігаються в Ексель, я можу конвертнуть на csv, але imacros заповнює форми тільки з першого рядок а далі вниз по списку не йде,
Мені потрібно щоб imacros брав дані з csv і реєстрував всі абоненти по черзі за списком, або хоча б брав з першого рядка, після реєстрував, і назад видаляв цю перший список, щоб 2-я була назад на першому списку, ну коротше не знаю допоможіть хлопці ?

зробив за вашим прикладом, але цикл не відпрацьовує, проходить тільки 1 раз
Підкажіть в чому проблема?

Потрібна допомога. Як написати цикл, який буде заповнюються перші текстове поле значенням від 1 до 10, а друге поле постійним значенням «А» і далі натискати на кнопку? Заздалегідь вдячний.

Доброго времени суток всем.Пожалуйста дайте відповідь хто знає, iMacros зможе розпізнати дублюючу картинку або зображення і клікнуть.Пожалуйста напишіть макрос якщо це можливо і вкажіть скільки буде коштувати Ваша работа.Алгорітм такий через деякий час з'являються зображення, їх п'ять, одне зображення головне, що задає завдання клікнути по такому-ж зображенню з чотирьох з'явилося зображення, вони розташовуються трохи лівіше основного ізображенія.Ето можуть бути цифри або різні рісункі.Надо так щоб скрипт оцінив зображення край неї ліве і клікнув по такому-ж зображенню з чотирьох представлених знаходяться левее.Заранее спасибі