1

好吧,首先我有一个完美的脚本,但他们无法运行其他条件,所以不得不在某种程度上利用 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.

一切都会触发,但不会像应有的那样执行。例如。在“第 1 部分”中,我们调用 iim Step1,在其中设置变量等(在 javascript 之前一切正常),它运行起来应该完美。问题出现在“第二步,无论它是否检测到该字符串,它仍然会触发并重新循环它应该执行的操作。

第三部分,当我操纵脚本使其进入第三部分进行测试时,当它完成循环但没有像它应该那样更新 {{COLS}} 或 !VAR1 时,即使认为一切都很好。

任何帮助,一开始我太自豪了,但它已经过了几天的痴迷点,我只需要帮助,不能靠我自己弄清楚。

4

1 回答 1

1

你没有很好地解释你的问题。

试试这个。如果 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");
}
于 2013-08-26T00:04:38.273 回答