在 javascript 文件 (iim, js) 中为 imacros 运行多个 javascript 代码

在 javascript 文件 (iim, js) 中为 imacros 运行多个 javascript 代码

我有 Windows 7、Firefox 56、Imacros 8.9.7

我需要按顺序依次运行多个 imacros javascript 代码。

使用 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")

相关内容