好吧,首先我有一个完美的脚本,但是他们无法运行其他条件,因此必须在 javascript 中对所有内容进行某种程度的组合,但现在脚本运行但未按预期运行。
const iterations = 100; // Number of times to loop
for (var i=0; i<iterations; i++){
iimSet('iteration', i );
iimPlay('Step1'); // PART ONE, Grabs the varibles and sets everything up.
var string = "Error, Invalid Request.";
var result = string.match(/error/i);
// result == 'ERROR';
if (result){
iimPlay(Step1'); // PART TWO Checks to see if it was successful if not then Loop back to Step One but if it was Goes on to Step 3
}
else {
iimPlay('Step2');}} // PART THREE, this is the last step and save all extracts.
一切都会触发,但不会像应有的那样执行。例如。在“第一部分”中,我们调用 iim Step1,在其中设置变量等(一切都在 javascript 之前运行)并且它运行得完美。问题出现在“第二步,无论它是否检测到该字符串,它仍然会触发并重新循环它应该发生的事情。
第三部分,当我操纵脚本使其进入第三部分来测试它时,当它完成时,它循环但没有像它应该的那样更新 {{COLS}} 或 !VAR1,即使认为一切都很好。
请帮忙,一开始我太骄傲了,无法乞求,但那个痴迷点已经过去几天了,我只需要帮助,无法自己解决。
最佳答案
你没有很好地解释你的问题。
试试这个。如果 Step1 宏中包含 SET !ERRORIGNORE YES
,则 case 宏在播放时始终返回值 true。
尝试这个模型
var macro;
macro ="CODE:";
macro +="TAG POS=1 TYPE=A ATTR=HREF:www.somelink.com EXTRACT=HREF";
var macro1;
macro1 ="CODE:";
macro1 +="TAG POS=1 TYPE=A ATTR=HREF:www.somelink1.com EXTRACT=HREF";
var result=null;
result=iimPlay(macro);
//error has negative value
if(result<0)
{
//do something
}
else
{
iimPlay(macro1)
}
这里还有错误列表及其解释。 http://wiki.imacros.net/Error_and_Return_Codes
你可以像这样使用它。
var result=null;
result=iimPlay(somemacro);
if(result==-1001)
{
alert("Error happened. Error type: Syntax error in XPath expression");
}
关于javascript - imacros javascript 如果其他行为不正常等等,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18415308/