Автоматизуємо будь-які дії в браузері з 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 з коду
Будь-макрос можна зберегти у файлі з розширенням 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.

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