imacros javascript如果没有表现得应该和更多

时间:2013-08-24 05:36:55

标签: javascript if-statement imacros

好的,首先我有完美的脚本,但是他们无法运行其他条件,所以不得不在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.

一切都会触发但不会像它应该的那样执行。例如。在“PART ONE”中我们称之为iim Step1,我们在其中设置varibles等(在javascript之前一切正常)并且它应该完美地运行。问题出现在“第二步,无论它是否检测到该字符串,它仍然会发射并重新循环它。”

第三部分当我操作脚本使其成为第三部分进行测试时,当它完成LOOPS但不更新{{COLS}}或!VAR1时,即使认为一切都很好。

Anyhelp拜托,我起初感到骄傲,但是我已经过了几天,而且我只是需要帮助,不能自己解决这个问题。

1 个答案:

答案 0 :(得分:1)

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

试一试。如果Step1宏中有SET !ERRORIGNORE YES,则表示宏在播放时始终返回值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");
}