好的,首先我有完美的脚本,但是他们无法运行其他条件,所以不得不在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拜托,我起初感到骄傲,但是我已经过了几天,而且我只是需要帮助,不能自己解决这个问题。
答案 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");
}