Запустите несколько кодов JavaScript для imacros внутри файла javascript (iim, js)

У меня Windows 7, Firefox 56, Imacros 8.9.7

Мне нужно запустить несколько кодов JavaScript imacros в последовательности один за другим.

С расширением iim imacros я могу использовать эту команду в макросе javascript

Пример run_all_macro.js

iimPlay("macro1.iim")
iimPlay("macro2.iim")
iimPlay("macro3.iim")
iimPlay("macro4.iim")

Мне нужно запустить макрос в формате JavaScript, и этот код не работает

Пример run_all_macro.js

iimPlay("macro1.js")
iimPlay("macro2.js")
iimPlay("macro3.js")
iimPlay("macro4.js")

Пример macro1.js

var imacros = "PROXY ADDRESS=12.3.4.5:67" + "\n";
imacros += "URL GOTO=javascript:{document.getElemensByClassName('class_here')[0].click();undefined;}" + "\n";
iimPlayCode(imacros);

Как я могу запустить несколько кодов JavaScript внутри кода JavaScript?

1 ответ

Вы можете создать JS-функцию, которая читает ваши js-файлы и запускает их.

//set Datasource folder to JS variable
iimPlayCode("SET !EXTRACT {{!FOLDER_DATASOURCE}}");
let folderDatasource = iimGetLastExtract();

//Read JS-file and run it
function readImacrosFileAndRun(filename){
    let file_i = imns.FIO.openNode(folderDatasource+"/"+filename);
    let fileCode = imns.FIO.readTextFile(file_i);
    eval(fileCode);
}


readImacrosFileAndRun("macro1.js")
readImacrosFileAndRun("macro2.js")
readImacrosFileAndRun("macro3.js")
readImacrosFileAndRun("macro4.js")
Другие вопросы по тегам