У цій статті я постараюся найбільш повно представити основні команди Imacros, забезпечивши їх прикладами коду. Багато покладаються на інструмент записи скриптів Imacros.
Я вважаю, що він корисний для того, щоб сформувати основне тіло скрипта для Imacros. В кінцевому підсумку такий скрипт все одно доведеться правити руками. Основна робота над скриптами в Imacros - це спроби подолати його "глюкавий" і змусити зробити те, що вам потрібно.
Тут вам і стане в нагоді ця сторінка. Я вирішив зробити її у формі відповідей на ті питання, які мені вже задавали на старому блозі.
Як задати паузу в скрипті Imacros?
Пауза виконання скрипта в Imacros задається наступним чином:
Дійшовши до цього рядка скрипт буде чекати 60 секунд і потім продовжить своє виконання. Це свого роду таймер.
Якщо ви хочете постійну паузу, щоб скрипт чекав ваших дій - використовуйте наступний код:
Якщо ви бажаєте зробити рандомних паузу - використовуйте наступний код:
Як зробити так, щоб скрипт клікнув в певному місці екрану?
У деяких випадках необхідно вказувати скрипту щоб він клікнув по певним координатам екрану. У звичайному випадку в скриптах використовуються для прив'язки кліка html атрибути сторінки.
Ця команда буде корисна, якщо самі атрибути генеруються динамічно і щоразу різні, або у випадках, коли скрипт Imacros "спотикається" або зупиняється в якомусь місці.
Як зробити клік по координатам в Imacros
1. Заходимо в настройки Imacros
2. В налаштуваннях знаходимо кнопку "recording preferences" і тиснемо на неї.
У вікні вибираємо "Use X / Y position" і тиснемо ОК. Це вікно закривається. Залишається попереднє, там не забуваємо натиснути кнопку "Apply".
3. Запускаємо запис макросу і натискаємо в потрібне місце.
У коді конструкція буде така:
Хочу додати, що такий код буде працювати тільки в вашому браузері і при зміні дозволу екрану або запуску браузера в віконному режимі вам доведеться міняти координати.
Скрипт зупиняється в певному місці. Як зробити щоб він продовжував свою роботу?
Через обмеженість самого Imacros, можливості з реалізації циклів в ньому сильно урізані. Тому можна вказати послідовно кілька умов. Якщо умова не виконується, скрипт піде далі ігноруючи помилки і дійде до того умови, що вірно і виконає його.
У наступному прикладі ви побачите, куди вставляються дані рядка в скрипті.
Виберіть в браузері іменуються по порядку, відповідно, якщо ви вкажете 1 і 3 вкладку, коли не відкриває другу, скрипт буде працювати некоректно.
В даному прикладі скрипта Imacros послідовно відкриваються три вкладки в браузері, потім закривається друга вкладка. Остання команда закриває всі вкладки.
Команду очікування в п'ять секунд я додав для наочності, на випадок якщо ви захочете скопіювати цей скрипт і відтворити його на своєму браузері.
Як оновити вікно браузера?
Як очистити кеш і кукіси?
Як змусити скрипт відключитися від мережі (вийти в офлайн)?
Як поміняти швидкість роботи скрипта?
1 - швидко, 2 - нормальна швидкість, 3 - повільна швидкість
Можна ще знизити швидкість скрипта за допомогою такої команди.
Як змусити скрипт чекати закінчення завантаження сторінки?
Дана конструкція дає команду скрипту шукати текст "OpenSuse 13.2 огляд" на цільовій сторінці, і якщо він там присутній, зробити клік по ньому.
Як зробити імпорт з текстового файлу?
Хочу звернути вашу увагу, що в більшості прикладів вказується файл імпорту в форматі .csv, але після деяких експериментів я прийшов до висновку, що для цього все таки краще використовувати звичайний текстовий файл.
Це пов'язано з "глюкавий" аймакроса. Зокрема, в певні моменти скрипт брав зовсім не ті рядки що було потрібно. Єдиний мінус такого способу - це коми як роздільники рядків.
Або використовувати цей формат, але без ком в тексті і без глюків. Або використовувати стандартний спосіб і змиритися з можливими глюками запостити не зовсім те що вам було потрібно.
Природно, у вас там будуть зовсім інші шляхи, ніж у мене.
Наступна команда дає зрозуміти скрипту, скільки полів з документа слід використовувати для вибірки.
В даному випадку це буде число сім.
Щоб вказати номер рядка, з якої слід почати вибірку використовується наступна конструкція:
Наступна команда дає зрозуміти скрипту, з якого рядка документа в даний момент робиться вибірка.
В даний момент з третього рядка документа.
Важливе зауваження для користувачів Windows: Якщо ви використовуєте в якості рядків кириличний текст, раджу вам використовувати для створення таких файлів програму Notepad ++ і зберігати файл в кодуванні UTF-8 без BOOM.
Саме так ви досягнете коректного постинга текстів на кирилиці. Інакше у вас можуть виникнути проблеми з кодуванням. І замість нормального тексту там будуть "крякозаби".
Увага! В останніх версіях Firefox функцонал Imacros активно випилюється. Тому для коректної роботи скриптів використовуйте Портабельная версію браузера не новіше 47 версії.