Как запустить один макрос из другого

Иногда возникает необходимость запустить из одного скрипта Imacros другой скрипт. Сделать это можно следующим образом:

    • Как запустить *.iim-файла из *.iim:
      URL GOTO=imacros://run/?m=path/file.iim
    • Как запустить *.js-файла из *.iim:
      URL GOTO=imacros://run/?m=path/file.js
    • Как запустить *.iim-файла из *.js:
      iimPlay("path/file.iim")
    • Как запустить *.js-файла из *.js:
      iimPlayCode("URL GOTO=imacros://run/?m=path/file.js")

Где “path” в коде – путь до скрипта относительно родительской папки Imacros.

То есть, если у вас скрипт с именем 1.iim лежит в общей куче скриптов, то указываете так:

URL GOTO=imacros://run/?m=1.iim

а если вы создали в папке скриптов папку trololo, то указываете так:

URL GOTO=imacros://run/?m=trololo/1.iim

Естественно называть папки или скрипты на кириллице не стоит.
Вот код для наглядности.

Код второго скрипта, который следует создать перед запуском первого и сохранить его под именем 2.iim:

VERSION BUILD=8890130 RECORDER=FX
TAB T=1
URL GOTO=about:newtab
URL GOTO=http://semmblog.ru/imacros-skript-web-pauka.html

Код основного скрипта:

VERSION BUILD=8890130 RECORDER=FX
URL GOTO=about:newtab
URL GOTO=http://semmblog.ru/
WAIT SECONDS=10
URL GOTO=imacros://run/?m=2.iim

19 thoughts on “Как запустить один макрос из другого”

  1. Это хорошо юзать для логина , вызывая отдельно макрос…

    Но он не продалжает выполнять основной макрос

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

      1. У меня в макросе запускается скрипт
        URL GOTO=imacros://run/?m=1.js
        Как прописать продолжение iim по завершению js?
        Пробовал через iimPlay, но тогда начинает этот же макрос с начала, а не продолжает.

        1. В выбранную строку скрипта аймакрос не вернуться никак. В ява скрипте пишете старт нового скрипта аймакроса. Создаете новый скрипт аймакроса и пишите туда продолжение.

  2. Подскажите, у меня одного код
    iimPlayCode(“URL GOTO=imacros://run/?m=path/file.js”)
    не работает?
    Вызываю Experiment1.js, который находится в папке Macros:
    iimPlayCode(“URL GOTO=imacros://run/?m=Experiment1.js”);

    Так тоже пробовал:
    iimPlayCode(‘URL GOTO=imacros://run/?m=Experiment1.js’);

    И так:
    iimPlayCode(‘URL GOTO=imacros:///run//?m=Experiment1.js’);

    И так:
    iimPlayCode(‘URL GOTO=imacros:////run///?m=Experiment1.js’);

    1. Вы не пишете чем заводите, может хром у вас, может фаерфокс. В хроме куча функций не работает. Полный путь попробуйте указать. Может в пути кириллица есть, тогда в корень диска С киньте скрипт и попробуйте указать путь к нему.

  3. Завожу с Firefox
    Полный путь указал.
    Кирилицы в назывании папок у меня нет.

    В одном файле:

    var a = 1;
    alert(“1 часть 1 скрипта”);
    iimPlayCode(“URL GOTO=imacros://run/?m=D:/iMacros/Macros/Experiment1.js”);
    alert(“2 часть 1 скрипта”);

    Во файле Experiment1.js:

    alert(“1 часть 2 скрипта”);
    var v=1;
    if(v=1){return;}
    alert(“2 часть 2 скрипта”);

    1. Вы кусок кода из скрипта аймакрос показываете? Если да, то не будет у вас работать, так как аймакрос не работает с условиями и переменными (пишу про браузерную версию). Возможно коммерческая версия уже может это делать, но у меня ее нет. Если это кусок из внедренного ява скрипта, то вам придется разбираться в этом самому.

  4. Я не понял, что такое условные переменные, но мне очень нужно просто запустить один .js из другого .js

    1. В вашем куске кода они есть. По яваскриптам не консультирую. Тут два варианта – либо учить матчасть самому, либо на фриланс сайте заказать готовый.

  5. В общем столкнулся с тем, что разрабы постояянно меняют команды и настроенная система вечно ломается.

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

    Есть ли какие то варианты ?

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

  6. Semm, здравствуйте. Скажите, можно ли сделать так, когда imacros дошёл до определённого кода и он не выполняется, он возвращался к предыдущему. Спасибо

  7. Добрый день. Подскажите, пожалуйста, почему при свернутом окне аймакрос переходит от одной команды к другой, но текст не пишется? Это можно как-то исправить?

    1. Не сворачивайте окно или используйте виртуальную машину, если окно браузера вам мешает.

  8. здравствуйте. пытаюсь запустить макрос из макроса n-нное количество раз. примерно так
    URL GOTO=imacros://run/?m=path/file.iim
    URL GOTO=imacros://run/?m=path/file.iim
    URL GOTO=imacros://run/?m=path/file.iim
    он запускает, но не дожидается выполнения. как указать макросу, чтобы он ждал до выполнения вызываемого макроса? спасибо

    1. В конце кода первого макроса прописываете запуск второго и так далее. Второй вариант – между строками что вы написали указываете задержку wait seconds, на время выполнения скрипта.

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

Ваш e-mail не будет опубликован. Обязательные поля помечены *