Статьи

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

  1. Зміст статті iMacros - це програма, яка дозволяє автоматизувати і імітувати дії користувача в браузері....
  2. Hello world
  3. WARNING
  4. Робота з даними
  5. Витяг даних з веб-сторінок
  6. Виклик iMacros з коду
  7. мови
  8. C ++
  9. Використання JavaScript у макросах
  10. PHP
  11. Виконання макросів за розкладом
  12. Direct Screen Technology
  13. Скріншоти
  14. тестування сайтів
  15. Обробка помилок
  16. Використання проксі-серверів
  17. альтернативи
  18. Запис відео
  19. SRC
  20. висновок

Зміст статті

iMacros - це програма, яка дозволяє автоматизувати і імітувати дії користувача в браузері. За словами розробників, iMacros завантажили 9 мільйонів разів, але лише 240 тисяч користувачів активно використовують додаток. Тобто лише 3% з встановили продукт знайшли йому застосування. І не випадково. При першому погляді на документацію складно розгледіти його дивовижні, вражаючі можливості. Ця стаття відкриє їх для тебе.

Ця стаття відкриє їх для тебе

Мал. 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 згенерував код, який можна багаторазово запускати і редагувати:

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 = hello <SP > world TAG POS = 1 TYPE = BUTTON FORM = ID: gbqf ATTR = ID: gbqfb

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

WARNING

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

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

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

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

SET! DATASOURCE products.csv 'підключаємо файл CSV (краще прописувати абсолютний шлях) SET! LOOP 4' робимо порядковий обхід файлу і для кожного рядка виконуємо код, наведений далі SET! DATASOURCE_LINE {{! LOOP}} 'відкриваємо сторінку додавання товару URL GOTO = http: //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 = I D: 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" SET Мал. 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 = {down <SP> 2 } {tab <SP> 1} {enter}

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

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

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

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

Будь-макрос можна зберегти у файлі з розширенням 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-rate s = app-> iimExit (cTimeout);

Використання JavaScript у макросах

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

SET JSVAR EVAL ( "var JSVAR = 45 + 5; JSVAR;")

PHP

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

<? Php $ iimobject = new COM ( "imacros"); // Звертаємося до компоненту iimRunner (він вже повинен // бути попередньо запущений на сервері) $ imacrosprocess = $ iimobject-> iimInit ( "- runner"); // Отримуємо код макросу і слова для пошуку // з адресного рядка $ imacrosprocess = $ iimobject-> iimSet ( "-var_keyword", $ _GET [ "keyword"]); $ Imacrosprocess = $ iimobject-> iimPlay ($ _GET [ "macro"]); // Виводимо звіт про виконання макросу (вдалося // запустити чи ні) echo "iimplay ="; echo $ imacrosprocess; // і результати пошуку echo "extract ="; echo $ iim1-> iimGetLastExtract; $ S = $ iim1-> iimExit (); ?>

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

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

WAIT SECONDS = 10.

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

Найпростіші варіанти - batch-файли + Windows Task Sheduler або PHP + Crontabe

Мал. 4. Вікно редагування макросу

Direct Screen Technology

Якщо сайт зроблений на 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 = http: //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

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

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

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

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

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

PROXY ADDRESS = 127.0.0.1: 8888

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

Запис відео

Якщо ти хочеш зберегти найкращі моменти роботи iMacros на відео - використовуй плагін Capture Fox для Mozilla або Screencastify для Chrome.

SRC

У додатку до журналу є дев'ять шаблонів макросів (з російськомовними коментарями), які ти зможеш пристосувати для вирішення наступних завдань:

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

висновок

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

Ru/?
Навіщо це може стати в нагоді?

Новости

Как создать фото из видео
Кризис заставляет искать дополнительные источники дохода. Одним из таких источников может стать торговля на валютном рынке Форекс. Но чтобы не потерять свои деньги необходимо работать с надежным брокером.

Как оформить группу в вконтакте видео
Дано хотел свой магазин в вк, но не знал с чего начать его делать. Так как хотелось не банальный магазин с кучей ссылок и фото, а красиво оформленный. С меню, с аватаркой. После просмотра видео создал

Как оформить диск малыш от рождения до года из фото и видео
Оформить диск "Малыш от рождения до года" из фото и видео можно совершенно разными способами! Кто-то для достижения данной цели идет на шоу-таланты, кто-то пользуется услугами профессионалов, а кто-то