如果在IF和While循环中调用函数

时间:2017-08-13 09:22:33

标签: javascript imacros

我目前正致力于iMacro + Javascript,其运作方式如下:

  1. 开设网站。 (我有一个函数openwebsites();其中包含大量网站网址)
  2. 检查网页是否有"按下按钮"存在
  3. [循环]如果不存在,请再次执行编号1(打开网站)。这将重复,直到找到一个带有"跟随按钮"
  4. 的网站
  5. 如果按钮Follow存在,请将鼠标移到不同位置displayall();在页面内。
  6. 我的问题是这样的: A.我使用了While循环,我不确定这是否是最佳方法。顺便说一下,我只是javascript的初学者用户。 B.代码displayall();如果找不到带有按钮的网站,则无法正常运行。

    以下是imacro + javascript代码。

    var followbutton
    
    followbutton ="CODE:";
    
    followbutton +="SET !ERRORIGNORE YES"+"\n";
    followbutton +="TAG POS=5 TYPE=BUTTON ATTR=TXT:Follow EXTRACT=TXT"+"\n";
    
    iimPlay(followbutton)
    
    var text=iimGetLastExtract();
    
    while (text.search("Follow")!=0) {
        openwebsites();
        if (text.search("Follow")!=1) { 
            displayall();
            break;          
        } 
    }
    
    
    function displayall() {
    
    var displayall;
    displayall ="CODE:";
    
    displayall +="TAG POS=5 TYPE=BUTTON ATTR=TXT:Follow CONTENT=EVENT:MOUSEOVER"+"\n";
    displayall +="TAG POS=10 TYPE=BUTTON ATTR=TXT:Follow CONTENT=EVENT:MOUSEOVER"+"\n";
    displayall +="TAG POS=15 TYPE=BUTTON ATTR=TXT:Follow CONTENT=EVENT:MOUSEOVER"+"\n";
    
    iimPlay(displayall)
    
    }
    

1 个答案:

答案 0 :(得分:0)

如果您按如下所示构建循环,它将起作用。下面的代码,有一个无限的while循环,首先运行openwebsites()函数,然后检查Follow Button然后如果存在则运行displayall()函数,否则它将从头开始运行。

注意: 此循环将继续运行,如果您可以提供带有一些示例页面的openwebsites()代码,则可以创建一个正常的while循环来循环通过网站数量,由于没有足够的信息可供使用,我选择了无限循环。

var followbutton

followbutton ="CODE:";

followbutton +="SET !ERRORIGNORE YES"+"\n";
followbutton +="TAG POS=5 TYPE=BUTTON ATTR=TXT:Follow EXTRACT=TXT"+"\n";

do {
    openwebsites();
    iimPlay(followbutton);
    var text=iimGetLastExtract();
    if (text === 'Follow') { 
        displayall();  
    } 
}while (true);


function displayall() {

var displayall;
displayall ="CODE:";

displayall +="TAG POS=5 TYPE=BUTTON ATTR=TXT:Follow CONTENT=EVENT:MOUSEOVER"+"\n";
displayall +="TAG POS=10 TYPE=BUTTON ATTR=TXT:Follow CONTENT=EVENT:MOUSEOVER"+"\n";
displayall +="TAG POS=15 TYPE=BUTTON ATTR=TXT:Follow CONTENT=EVENT:MOUSEOVER"+"\n";

iimPlay(displayall)

}