5.Разбираемся с первыми командами iMacros.

 

Для того чтоб разобраться с этим волшебством нужно заглянуть внутрь этой программы. Для этого выберем файл. Нажмем правой кнопкой на нем(и выберем редактировать)

2015-12-06 12-34-51 Винда 7(64x) [Работает] - Oracle VM VirtualBox

Перед нами всплывает текстовый документик со строками:

  • VERSION BUILD=8820413 RECORDER=FX
    TAB T=1
    TAB CLOSEALLOTHERS
    URL GOTO=https://www.youtube.com/?gl=UA&hl=ru
    TAG POS=1 TYPE=INPUT:TEXT FORM=ID:masthead-search ATTR=ID:masthead-search-term CONTENT=как<SP>заработать
    TAG POS=1 TYPE=BUTTON FORM=ID:masthead-search ATTR=ID:search-btn

Первая нам вообще не нужна:

  • VERSION BUILD=8820413 RECORDER=FX

никогда не обращайте на нее внимания, можете даже удалять ее.

Вторая особо тоже:

  • TAB T=1

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

Возможно вы удивитесь, но третья команда

  • TAB CLOSEALLOTHERS

тоже не особо нужна)
Она означает ЗАКРЫТЬВСЕОСТАЛЬНЫЕ ВКЛАДКИ
Вы можете ради интереса открыть еще одну вкладку и запустить свой скрипт. он отработает как всегда красиво, только перед выполнением закроются все остальные вкладки браузера. Иногда это нужно. Но не в нашем случае.

Итак, мы перешли к главным командам нашей программы:

  • URL GOTO=https://www.youtube.com/?gl=UA&hl=ru
    TAG POS=1 TYPE=INPUT:TEXT FORM=ID:masthead-search ATTR=ID:masthead-search-term CONTENT=как<SP>заработать
    TAG POS=1 TYPE=BUTTON FORM=ID:masthead-search ATTR=ID:search-btn

Всего три строки, но они так много значат.
Во-первых нужно понимать как вообще выполняется код IMACROS
Это как бы отдельный язык. Он очень упрощен. Там основных команд с десяток. Ну два десятка всего которые вы будете когда-нибудь использовать. Даже скорее всего меньше. Позже я дам вам шпору, откуда их можно будет копировать.
Ну так вот каждая команда это какое-нибудь действие в браузере. Каждое действие пишется с новой строки. Действия выполняются по порядку. Между действиями можно выставлять разные промежутки времени. Так же можно регулировать скорость выполнения этих действий.

Вот наша первая команда:

  • URL GOTO=https://www.youtube.com/?gl=UA&hl=ru

Означает перейти по адресу https://www.youtube.com/?gl=UA&hl=ru

Тоесть аймакрос в нашей программе когда видит эту строку заставляет браузер перейти по адресу, который указан после URL GOTO=
Но есть еще одна важная детать. Аймакрос ждет пока браузер перейдет, и страница загрузится. Это самая главная деталь в этой команде, и вы поймете позже почему.

Следующая команда:

  • TAG POS=1 TYPE=INPUT:TEXT FORM=ID:masthead-search ATTR=ID:masthead-search-term CONTENT=как<SP>заработать

Вроде написано много, но смысл этой строки прост до безобразия.
Просто наш аймакрос видит страницы которые мы открываем по своему. Он их по своему размечает. Как он это делает нас не касается.
Мы видим поле поиска в ютубе, а он видит вот это:
TAG POS=1 TYPE=INPUT:TEXT FORM=ID:masthead-search ATTR=ID:masthead-search-term CONTENT=
Мы понимаем что он видит это по своему и пишем после CONTENT=как<SP>заработать
А аймакрос нас понимает и вставляет в поиск «как заработать» Позже я обьясню что такое <SP> между словами.
Вы уже можете попробовать в коде изменить эти слова например на как<SP>потратить
и увидите что произойдет. Просто откройте редактировать(как мы делали это раньше), выделите слово «заработать» и замените его на слово «потратить» нажмите внизу кнопочку save&close и нажмите воспроизвести. Теперь идет поиск совсем по другому.

2015-12-06 13-17-41 Винда 7(64x) [Работает] - Oracle VM VirtualBox

И теперь третья, последняя команда

  • TAG POS=1 TYPE=BUTTON FORM=ID:masthead-search ATTR=ID:search-btn

Тут все тоже что и во второй команде. Хоть мы и нажали ввод после ввода «как заработать» аймакрос подумал что мы нажали кнопку ввода поиска.

2015-12-06 13-23-14 Винда 7(64x) [Работает] - Oracle VM VirtualBox

А так как он видит ее по своему то и написал по этому поводу целую строку. Что он написал нас так же не интересует. Мы знаем что это строка нажатие на ту кнопку. Все остальное нас не касается.
Просто не правда ли?

На самом деле вы сможете писать в дальнейшем сложнейшие скрипты. Но принцип написания таков:
Например вы пишите сложный скрипт в отдельном файле. Дошли до нажатия какой-то кнопки.
В панельке нажали «записать»
нажали кнопку.
выбрали фаил #Current.iim (правой кнопкой, редактировать)
скопировали строчку нажатия
и вставили в свой сложный скрипт.
Дальше я буду усложняться, но на первых порах чтоб писать скрипты этого вполне достаточно.

Перейти к следующему уроку!

  21 комментарий to “5.Разбираемся с первыми командами iMacros.”

  1.  

    ОХЕРИТЕЛЬНО!!!!! Извините за эмоции. Какой же Вы молодца!!!! Не знаю, что будет дальше, но так все понятно, аж чувствую — «крылья растут». Такого обучения для чайников я в инете не встречал. СПАСИБО, Не могу оторваться, побежал к следующему уроку

  2.  

    У меня почему-то не работает воспроизведение, выдает ошибку: TypeError: Downloads.getList is not a function (Error code: -1001).
    Причем, не работают даже те скрипты, которые в папке демо. В чем причина может быть?

    •  

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

  3.  

    Помогите,пожалуйста!!!Не могу спать спокойно. У меня аймакрос работает в старых страничках ВК. А в новом дизайне не работает!!Что мне делать, скрипт какой поменять?!

    •  

      VERSION BUILD=8340723 RECORDER=FX,CR
      TAB T=1
      SET !TIMEOUT_PAGE 60
      SET !TIMEOUT_STEP 5
      SET !ERRORIGNORE yes
      SET !REPLAYSPEED medium
      SET !DATASOURCE Group.csv
      ‘!!!
      SET !DATASOURCE_COLUMNS 1
      SET !DATASOURCE_LINE {{cycle}}
      URL GOTO=http://vk.com/{{!COL1}}
      TAG POS=1 TYPE=textarea ATTR=ID:post_field CONTENT=»Требуется менеджер интернет-магазина ,готовый серьезно взяться за должность менеджера. От Вас требуется выход в интернет и 3-5 часов для работы. Обязанности: работа с клиентами, рекламы и отвечать на сообщения.Опыт работы с людьми приветствуется. ЗП от 2тыс.в день+премии. Зарплата на карту. »
      ‘EVENTS TYPE=KEYPRESS SELECTOR=»#ba_text» CHARS=»Привет»
      TAG POS=1 TYPE=BUTTON ATTR=TXT:Отправить
      SET !VAR1 EVAL(«var randomNumber=Math.floor(Math.random()*15 + 5); randomNumber;»)
      WAIT SECONDS={{!VAR1}}

      •  

        ну эти строчки просто перезапишите на новом дизайне
        TAG POS=1 TYPE=textarea ATTR=ID:post_field CONTENT=»Требуется менеджер интернет-магазина ,готовый серьезно взяться за должность менеджера. От Вас требуется выход в интернет и 3-5 часов для работы. Обязанности: работа с клиентами, рекламы и отвечать на сообщения.Опыт работы с людьми приветствуется. ЗП от 2тыс.в день+премии. Зарплата на карту. »
        ‘EVENTS TYPE=KEYPRESS SELECTOR=»#ba_text» CHARS=»Привет»
        TAG POS=1 TYPE=BUTTON ATTR=TXT:Отправить

      •  

        Знакомый скрипт)))))))

  4.  

    Привіт. Вже багато де шукав і так і не знайшов. Мені потрібна елементарна річ: скопіювати h1 в одному сайті і перенести на новій вкладці на інший (в поле додавання назви). Просто сайт з юкозу переношу і не знаю як це швидше зробити. Може порадите скопіювати і вставити?

    •  

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

      •  

        То правда зайва робота трохи. Розкажу більш детально що я роблю.
        Є движок юкоз. Перейти з цієї системи на нормальний движок дуже складно. Наймати програміста теж не маю можливості.
        Я Розробив новий сайт на CMF Modx revo. Туди файли не імпортувати. Переношу контент вручну з одного сайта на інший. Повну автоматизацію зробити неможливо, так як структура самого сайта інша. Багато фільтрів і всього такого. (по секрету скажу що це кіносайт з майже 6 тисячами фільмів. )
        Тобто стандартними методами, типу спарсити все в таблицю і потім вставити не знаю, не варіант мабуть так як я для кожного файлу роблю новий скріншот і створюю архів з додатковими файлами.
        Моя послідовність роботи така:
        1. Копіюю заголовок, вставляю в поле заголовок на новому сайті
        2. Додаю ще 2 поля title і description
        3. Переношу сам опис файлу
        4. Виділяю старий урл і теж переношу на новий сайт (щоб потім перепідключити домен і не втратити сторінку)
        і т. д.
        Хочу оптимізувати хочаб ці 4 пункти, з іншими вже змирюсь)
        Вже 2 дні шукаю, перерив все і так і не знайшов такого, щоб просто взяти елемент сторінки, внести його в буфер і вставити в потрібне поле. Поки найкраще що знайшов це Macro Recorder, поки найкраще з цим справляється, але він діє по координатам а imacros по елементам сторінки, тому він і кращий.

        Дякую Вам за відповідь, але може ще щось порадите з моєю проблемою?

        •  

          К сожалению с CMF Modx revo не сталкивался не разу. Но приходилось часто сталкиваться с парсингом. Я бы поступил немного не так, из-за того что контента много. Можно конечно же все аймакросом перелопатить. Но думаю все же вам правильнее будет зацепиться за импорт. В вашей CMF Modx revo должен быть хоть какой то импорт однозначно. Если нет по умолчанию, должен быть какой-то модуль.
          Может даже это импорт из csv файла. Тогда можно аймакросом выпарсить все в csv таблицу. В которой колонки уже будут подогнаны под импорт в CMF Modx revo
          Тоесть один столбец это ссылка, второй h1, третий… и так далее. Получится файл в 6000 строк. И потом его можно скормить в CMF Modx revo Для того чтоб увидеть как этот файл должен выглядеть заполните пару страниц, и сделайте импорт из в CMF Modx revo
          Если же импорта нет, то можно попробовать загнать все прям в базу данных.

          •  

            Думав над цим варіантом, а тепер подивився і справді таке є, модуль платний (ну там модуль взагалі супер) але ціна невелика. Думаю вартує купити для цього.
            Ну звісно раджу ознайомитись з CMF Modx revo. Система дуже швидка і все під повним контролем, кешування і всяке таке. Втік з вордпреса на неї бо вордпрес нещадно жере ресурси, якщо на нього трохи плагінів додати)

            Дякую за рекомендацію, так і зроблю. І буду мабуть ваш сайт весь перебирати, щоб навчитись нормально парсити в таблицю)

  5.  

    раньше работал аймакрос отлично сейчас скрипт тот же но когда я в яндексе у меня аймакрос не пишит в группах вот скрипт CMDLINE !DATASOURCE 1.txt
    SET !DATASOURCE_COLUMNS 100
    SET !ERRORIGNORE YES
    SET !ERRORCONTINUE YES
    SET !LOOP 1
    SET !DATASOURCE_LINE {{!LOOP}}
    TAB T=1
    URL GOTO={{!COL1}}
    WAIT SECONDS=6
    TAG POS=1 TYPE=BUTTON ATTR=TXT:Вступитьвгруппу
    WAIT SECONDS=5
    SET !VAR3 » https://vk.com/photo312975808_406138087»
    SET !VAR4 «»
    SET !VAR5 «Внимание!!! В крупную компанию требуются сотрудники для удаленной работы на дому. ВЛОЖЕНИЯ ОТСУТСТВУЮТ!!!! Зарплата от 600-700 рублей в день, активные зарабатывают больше. Выплаты 2 раза в месяц на карту Сбербанка. ЗЕВС, ОРИФЛЕЙМ,ПИРАМИДЫ, ХАЙПЫ к нашей вакансии никакого отношения не имеют.Требования: гражданство РФ, год рождения 1992-1967. По всем вопросам пишите в личку https://vk.com/oksanaufa10, все расскажу и научу зарабатывать не выходя из дома.»
    TAG POS=4 TYPE=DIV ATTR=TXT:Написать*
    EVENTS TYPE=KEYPRESS SELECTOR=»#post_field» CHARS={{!VAR3}}
    EVENT TYPE=KEYPRESS SELECTOR=»#post_field» KEY=13
    EVENTS TYPE=KEYPRESS SELECTOR=»#post_field» CHARS={{!VAR4}}
    EVENT TYPE=KEYPRESS SELECTOR=»#post_field» KEY=13
    WAIT SECONDS= 10
    EVENTS TYPE=KEYPRESS SELECTOR=»#post_field» CHARS=»Внимание!!! В крупную компанию требуются сотрудники для удаленной работы на дому. ВЛОЖЕНИЯ ОТСУТСТВУЮТ!!!! Зарплата от 600-700 рублей в день, активные зарабатывают больше. Выплаты 2 раза в месяц на карту Сбербанка. ЗЕВС, ОРИФЛЕЙМ,ПИРАМИДЫ, ХАЙПЫ к нашей вакансии никакого отношения не имеют.Требования: гражданство РФ, год рождения 1992-1967. По всем вопросам пишите в личку https://vk.com/oksanaufa10, все расскажу и научу зарабатывать не выходя из дома.»
    WAIT SECONDS= 6
    TAG POS=1 TYPE=TEXTAREA ATTR=ID:post_field CONTENT={{!VAR5}}
    TAG POS=1 TYPE=BUTTON ATTR=ID:send_post

  6.  

    Здравствуйте .Подскажите пожалуйста ,почему скрипт доходит до этой строчки TAG POS=1 TYPE=INPUT:TEXT FORM=ID:masthead-search ATTR=ID:masthead-search-term CONTENT=какзаработать и дальше останавливается , т.е. не вписывает в строку пойска слово «как заработать». Внизу пишет такую ошибку RuntimeError: Error loading page wyciwyg://25/https://www.youtube.com/?gl=RU&hl=ru, line 3 (Error code: -933).Ни как не могу разобраться.За ранее спасибо

    •  

      Ну это бывыает такое только на страницах ютуба в некоторых случаях. Иногда помогает просто вставить секунду задержки после этой команды:
      iimPlayCode(‘WAIT SECONDS=1’)

      или перед ней прописать игнор ошибок:
      iimPlayCode(‘SET !ERRORIGNORE YES\nTAG POS=1 TYPE=INPUT:TEXT FORM=ID:masthead-search ATTR=ID:masthead-search-term CONTENT=какзаработать’)

  7.  

    RuntimeError: Error loading page wyciwyg://34/https://www.youtube.com/?gl=UA&hl=ru, line 1 (Error code: -933)

    не уходит у меня эта ошибка — секундную задержку и игнор ошибок вставлял, не помогло.(((
    Не могу идти дальше по урокам, потому что не даёт покоя этот косяк.)))
    вот мой скрипт в #Current.iim :
    URL GOTO=https://www.youtube.com/
    TAG POS=1 TYPE=INPUT:TEXT FORM=ID:masthead-search ATTR=ID:masthead-search-term CONTENT=какзаработать
    TAG POS=1 TYPE=BUTTON FORM=ID:masthead-search ATTR=ID:search-btn

  8.  

    Здравствуйте, у меня иногда выбывает ошибка line not found , можно повторить линую при ошибке, например repeat if error

  9.  

    Добрый вечер . У меня такая проблема : ставлю на текстовый документ расширение js и он не меняется на такой значок как у тебя , а так и остаётся текстовым документом только с именем 1.js . Как это можно исправить ?

  10.  

    Подскажите. Как в скрипте прописать переход по нескольким ссылкам сайта, когда сайт не известен. Тоесть по поиску может выйти неизвестный сайт его нужно открыть и перейти по нескольким страницам, сохранив эти ссылки в файл.

  11.  

    Помогите пожалуйста, как мне загружать из папки datasource картинки рандомно? А то у меня к каждому сайту своя прописана.
    URL GOTO=https://vk.com/easymoney_app
    SET !ERRORIGNORE YES
    SET !VAR1 EVAL(«var randomNumber=Math.floor(Math.random()*5 + 7); randomNumber;»)
    WAIT SECONDS={{!VAR1}}
    EVENT TYPE=CLICK SELECTOR=»#post_field» BUTTON=0
    TAG POS=1 TYPE=A ATTR=CLASS:ms_item*
    TAG POS=1 TYPE=INPUT:FILE ATTR=TYPE:file&&ID:choose_photo_upload CONTENT={{!FOLDER_DATASOURCE}}\8.jpg
    EVENTS TYPE=KEYPRESS SELECTOR=»#post_field» CHARS=»»
    WAIT SECONDS=15
    EVENT TYPE=CLICK SELECTOR=»#send_post» BUTTON=0
    WAIT SECONDS={{!VAR1}}

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