6.Список основных команд iMacros.

 

Хочу обратить ваше внимание, что цель этого сайта именно научить, а не заставлять вас что-то зубрить. Поэтому тут только самое главное. Просто визуально просмотрите эти команды, чтоб иметь представление что мы будем требовать от аймакроса. Основной упор у нас будет на JavaScript. Imaсros только будет делать только то, с чем JavaScript плохо справляется. А это:

  • Загрузка файлов, скриншотов.
  • Сохранение в текстовые документы. (Очень удобно. Например оставили вы работать скрипт на недельку, потом открыли отчетик и можно сделать анализ работы)
  • Использование .csv таблиц (тоже интересно. Таблица, это грубо говоря, база данных)
  • Переходы по ссылкам(да, это может делать и JavaScript, но не так умело как Imakros)
  • Временная задержка(Imaсros в этом тоже лучше JavaScript)
  • Чистка кэша.
  • Включение и отключение картинок в браузере.
  • Клики на кнопки, ссылки эмуляция нажатия клавиш.
  • Шифрование паролей
  • Использование буфера обмена

Но самая главная сила JavaScript и Imaсros в том что они могут использоваться в одном коде и дополнять друг друга. Причем этот код может быть написан не в одном файле. Файл с кодом можно использовать как закладку в браузере. Да, и не забывайте что JavaScript легко встраивается в HTML. Я например для себя  создал файлик, в котором кнопки это ссылки на скрипты. И поставил его на страницу запуска браузера. Вышел довольно удобный пульт управления который помогает существенно экономить время.

Итак теперь команды:

‘    — Это комментарий. Строка, вначале которой будет стоять одиночная кавычка не будет считываться скриптом, вы можете писать туда что угодно. Все что после этого знака аймакрос игнорит вплоть до следующей строки

  • !EXTRACT   — содержит результат извлечения со страницы
  • SAVEAS TYPE=EXTRACT    — сохранить результат извлечения (например в .txt и .html)
  • ONDOWNLOAD   — загрузка со страницы(картинки, файла, скриншота, и т.д.)

Немножко теории. Не буду расписывать что такое переменная. Если вам это сильно интересно, можете загуглить. Вам нужно лишь понимать что в этой переменной можно хранить какие-нибудь значения. Например число или текст.Чтобы установить значение переменной необходимо использовать команду SET:

  • SET !VAR1 5 —присвоили переменной VAR1 значение 5

для того чтоб исвользовать потом эту переменную ее нужно вписать в таких скобках:{{VAR1}}

  • CMDLINE !DATASOURCE Baza.csv   — подключаем таблицу Baza.csvSET
  • !DATASOURCE_DELIMITER ;    — обозначаем разделитель в таблице ;
  • SET !DATASOURCE_COLUMNS 8  -какое количество колонок в этом файле будем использовать
  • SET !DATASOURCE_LINE {{VAR1}} -из какой строки по счету нужно извлечь информацию

Не заморачивайтесь особо с этими переменными. Мы их будем брать из JavaScript, там с ними намного проще работать.

  • URL GOTO=http://sistem.in.ua — переход по ссылке, с ним мы уже знакомы из прошлого урока
  • WAIT SECONDS=2  -временная задержка в секундах
  • CLEAR чистит кэш браузера, полезная вещь
  • FILTER TYPE=IMAGES STATUS=ON — отключить отображение картинок на странице
  • FILTER TYPE=IMAGES STATUS=OFF — включить отображение картинок на странице
  • EVENTS TYPE=KEYPRESS SELECTOR=\”#post_field\” KEYS=\”[8]\””  — Эмуляция нажатия кнопки Backspace (стереть символ)
  • SET !ENCRYPTION NO —  аймакрос не будет шифровать пароли
  • SET !ENCRYPTION STOREDKEY  — пароль будет зашифрован и сохранен на вашем Пк
  • SET !ENCRYPTION TMPKEY — Мастер-пароль не хранится на компьютере, самый безопасный
  • !CLIPBOARD  — Внутренняя переменная содержит в себе буфер обмена

Это основное. Другие команды и примеры кода вы можете посмотреть тут: Примеры команд Imacros

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

  33 комментария to “6.Список основных команд iMacros.”

  1.  

    Чем дальше тем сложнее. Что значит «Внутренняя переменная содержит в себе буфер обмена»?

    •  

      Если вы копируете текст на каком либо сайте, то он помещается в «буфер обмена». Его можно поместить в переменную и использовать в аймакросе.

  2.  

    Здравствуйте! Можно ли при помощи команды, подобной команде ниже:
    EVENTS TYPE=KEYPRESS SELECTOR=\”#post_field\” KEYS=\”[8]\””
    выполнить через iMacros нажатие клавиш Alt+F4?

    •  

      Здравствуйте. Только что попробовал, с ходу через команды аймакроса не выходит реализовать нажатия этих клавиш. Но есть вся ширина джаваскрипта, там тоже коды клавиш присутствуют. Попробовал эту комбинацию, она закрывает браузер. Если вам действительно нужно использовать это для закрытия браузера, может тогда не нажимать кнопки, а убивать процесс? Или недавно вот работал с таким кодом:
      var simulateClick = function(){
      var evt = content.document.createEvent(«MouseEvents»);
      evt.initMouseEvent(«keypress», true, true, window, 0, 0, 0, 150, 100, false, false, false, false, 0, null);
      content.document.body.dispatchEvent(evt);
      }//убивает браузер мгновенно
      simulateClick()
      он у меня закрывает браузер. Это не совсем правильное решение, но если будет работать без проблем, то почему бы и нет.

  3.  

    Здравствуйте! Отлично всё у Вас получается, приятно смотреть и читать, но я хотел бы поговорить с Вами более детально в переписке о возможности не отправлять капчу на сервисы распознавания? Буду очень признателен, Спасибо!

  4.  

    Здравствуйте, встала необходимость зациклить макрос ровно по времени, чтобы выполнялся например в 13:00, потом в 13:15, потом в 14:00, потом в 14:15 и тд., куда копать, не подскажите?

    •  

      Ваши интервалы нужно перевести в миллисекунды джаваскрипта и загнать в массив. Например наш массив:
      var arrTime2 =[11111111,2222222222,3333333333,444444444,555555555555,]
      var time2 =arrTime2 [i]
      Возможно даже сохранить джаваскриптом во внешний файл этот массив.
      Затем вытягивать меньшее количество миллисекунд из этого массива и отнимать количество миллисекунд на данное время. Вытянуть количество миллисекунд на это время:

      function milisec() {
      return new Date().getTime()
      }
      var time1 = milisec()
      Результат умножать на 1000 и ставить задержку:

      var timeStop = (time2-time1) * 1000// время интервала в секундах
      iimPlay(‘CODE:’+’WAIT SECONDS=’+timeStop)

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

      •  

        Спасибо за ответ! а при таком решении макрос будет точно запускаться по времени? просто сам макрос каждый раз выполняется по разному по времени (±10 сек) ..
        Вообще мои мысли по решению этой задачи были таковы (сразу извиняюсь за свои примитивные объяснения и возможно глупые предположения, в коде не силен (надеюсь временно:)) ):
        например в яваскрипте создать цикл, который каждый раз проверял бы сколько сейчас времени (с моего компа или с какого-нить сервиса), это время сравнивалось бы с моим списком времен и если есть совпадения, то запускался бы макрос, в противном случае не запускался бы, ну а цикл в любом случае продолжался бы дальше. Такая мысль пришла, когда я узнал о команде аймакроса {{!NOW}}, которая выдергивает время (ток не знаю откуда — из компа или из инет-сервиса).. В теории что-то подобное возможно?

        •  

          В моем варианте вы даете слишком большую разбежность ±10 сек, думаю это будет около секуны, может двух. Правда вот не знаю если на паузу поставить выполнение а потом запустить, тогда может будет сбой одного периода.
          В этом случае предложенный вами способ будет даже правильнее. Если запуск мимо времени категорически запрещен, то скорее всего использовать лучше ваш способ. Только {{!NOW}} это команда аймакроса, а я предлагал вам делать это все с помощью джаваскрипта. Это просто дело привычки, кому как нравится. В целом ваш способ правильный, если поставить цикл проверки времени каждую секнду, или даже пол секунды. Только вот на выполнение скрипта тоже требуются какие-то доли секунды, есть вероятность что проверка может запоздать из-за выполнения самого скрипта. Но все это можно только узнать эксперементальным путем. Так что пробуйте, опыт никогда не будет лишним.

  5.  

    Здравствуйте! Скажите пожалуйста, как сделать в скрипте чтобы нажать одну и ту же кнопку несколько раз. Я пробовал,но не получается(((

  6.  

    Здравствуйте. Как в джаваскрипте прописать команду — двойной клик левой кнопки мыши?

  7.  

    Здравствуйте!
    Хотел автоматизировать работу с одним сайтом, для этого в аймакросе записал свои действия в личном кабинете (нужно сделать переход по ссылке в определенном месте, пробыть некоторое время на открывшемся сайте, закрыть вкладку, обновить кабинет и снова кликнуть по ссылке и т.д. Но в записанном коде нет самой ссылки, поэтому переход не осуществляется, вот фрагмент кода:
    FRAME F=3
    TAG POS=1 TYPE=A ATTR=TXT:LyonessShoppingNetwork (это клик по ссылке, но ссылки для перехода почему-то нет, соответственно при воспроизведении скрипта ничего не происходит)
    TAB T=2
    TAB CLOSE

    Подскажите, как прописать, чтобы осуществлялся клик и переход по ссылке независимо от текста ссылки.

    •  

      Здравствуйте. Вы записываете клик на кнопку, соответственно не факт что вы должны видеть ссылку в коде. Переход у вас может не происходить по нескольким причинам. Вот как минимум две:
      1.первая строка FRAME F=3 означает что действия происходят во фрейме. Возможно этот фрейм каждый раз меняется. Тоесть после перезагрузки страницы вы можете поставить на запись и уже следующий код у вас будет FRAME F=2 и т.д. Или же может быть вы не придаете этой строке значения и клик у вас происходит не фрейме а в главной странице. тогда F=0
      2.иногда стоят хитрые кнопки, и по ним нужен не простой клик, а хитрый. Этого можно добиться поставив запись в режим «Exsperimental event recording mode»(вторая галочка сверху в окне выбора режимов записи, в опциях записи).
      Для простоты записи — Открываете нужную страницу, ставите на запись, кликаете на кнопку, открываете файл и стираете все строки кроме клика и FRAME F=3 перед ним(или какой там фрейм будет). Потом тут же запускаете этот файл всего с двумя строками. Если переход не произошел, меняете режим записи. И так пока переход не произойдет.

  8.  

    Здравствуйте. Как извлечь содержимое из окна 1(клик по сумме не осуществляется) и вставить в окно 2 http://prntscr.com/bx18zv

  9.  

    Добрый день.Подскажите, плиз. Не работает функция CLICK. После переключения на функцию X/Y все равно выдает TAG POS=1………. Что я делаю не так? Спасибо.

  10.  

    что нужно заменить в строчке кода ниже чтоб переходило по этой ссылке (она не прямая а через анномайзер) http://vk.com/away.php?to=https://youtube.com/channel/

    yotubkanal = «SET !ERRORIGNORE YES \n TAG POS=1 TYPE=A ATTR=HREF:http://youtube.com/channel/* \n»;

  11.  

    Здравствуйте,у меня почему то не идёт сохранение в прописанные папки…?Хотя пути прописаны как в уроке и обновлёно до нужной версии.

  12.  

    Здравствуйте )
    помогите пожалуйста!

    Вставляет ссылку на картинку и потом Пишет текст

    EVENTS TYPE=KEYPRESS SELECTOR=»#post_field» CHARS=» https://cs540109.vk.me/c836238/v836238729/27873/1b_t69dGUY4.jpg »
    EVENTS TYPE=KEYPRESS SELECTOR=\”#post_field\” KEYS=\”[8]\””
    EVENTS TYPE=KEYPRESS SELECTOR=»#post_field» CHARS=» Д О Б А В Л Я Й С Я »

    Нужно : чтобы вставил ссылку — потом СТЁР ее и написал текст

    Что сделано неправильно?

    •  

      попробуйте стирать картинку так
      EVENTS TYPE=KEYPRESS SELECTOR=»#post_field» KEYS=[8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8]
      и уберите в Д О Б А В Л Я Й С Я пробелы

    •  

      Ах ты не годник, поспамить знаить решил, за тобой уже выехали !

  13.  

    Здраставуйте, как сделать следующее:
    Открыть любую ссылку например http://vk.com, не ждать полной загрузки и сразу остановить загрузку?

  14.  

    Скажите, сделала скрипт для размещения фото в альбомы. Но не могу найти команду чтобы после каждой новой группы вк закрывалось окно выгрузки файла?

  15.  

    Добрый день! проблема следующая, вот код:

    VERSION BUILD=9030808 RECORDER=FX
    TAB T=1
    TAG POS=1 TYPE=BUTTON ATTR=TXT:Написатьпродавцу
    TAG POS=1 TYPE=TEXTAREA ATTR=TXT:Здравствуйте!МеняинтересуетSatılıkRover2* CONTENT=Здравствуйте!МеняинтересуетSatılıkRover25.
    TAG POS=1 TYPE=TEXTAREA ATTR=PLACEHOLDER:Написатьсообщение…&&TXT: CONTENT=v
    TAG POS=1 TYPE=TEXTAREA ATTR=TXT:Hoşgeldin!Bizuluslararasıalandamallarıns* CONTENT=Hoşgeldin!Bizuluslararasıalandamallarınsatışıiçinreklamyerleştirmekiçintavsiye-https://simplsell.com/Ücretsizdir!Vekendialışverişoluşturmakvedüzenliolarakmalsatabilirsiniz.
    TAG POS=1 TYPE=BUTTON ATTR=TXT:Отправить
    TAB CLOSE

    Тут записано открытие формы (путем нажатия на кнопку «Написать продавцу»). Далее открывается форма сообщения, с уже имеющимся автоматически сгенерированным самим фейсбуком текстом. Далее записан процесс удаления стандартного, вставки на его место моего, отправки сообщения и закрытия вкладки. Суть проблемы: этот автоматически сгенерированный текст всегда уникален. Что исправить в коде, чтобы он просто открывал эту форму и предварительно (перед добавлением моего текста)очищал ее содержимое — любое, что там появится в момент открытия? Помогите, пожалуйста! Чую, что где-то близко уже и нужно маленькую часть кодика заменить…

  16.  

    Добрый день
    Необходимо при выставлении товара, добавлять описание на разных языках ( взятые с google translate)
    Каким образом реализовать заполнение текста с переменным исходником с google translate?
    google translate ( исходный текст рус) — перевод на англ — Название и описание товара ( магаз) — google translate ( перевод на немецкий) — Название и описание товара на немецком ( магаз) — google translate ( перевод на ….) — Название и описание товара на …. ( магаз)
    Спасибо

  17.  

    Здравствуйте!
    помогите пожалуйста сделать шаблон кода:
    Сделать клик по N координате в определено время N:N:N: час:мин:сек:миллисекунд
    *время грузить из винды
    *по возможности, в функции кода включить назначение задержки

  18.  

    Доброго времени суток. У меня вопрос про капчу. Вы упомянули, что есть возможность не отправлять капчу на сервисы ручного .распознавание.И что с ней тогда делать, самому вбивать?

  19.  

    Пожалуйста подскажите как зажать кнопку на 2-3 секунды.

  20.  

    День добрый. А как сохранить часть текста в буфер обмена чтоб потом его вставить в другое место на сайте. То есть выполнить действие которое обычно выполняются ctrl+c ctrl+v

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