【问题标题】:iMacros javascript nested loops in firefoxFirefox中的iMacros javascript嵌套循环
【发布时间】:2013-05-15 19:09:56
【问题描述】:

我有 2 个宏需要在 Firefox 中运行。它们都像 iim 一样完美运行,但我需要让它们一起运行

Macro1:它读取一个带有许多链接的文本文件,加载链接,然后移动到下一个

var macro1 = "CODE:";
macro1 += "VERSION BUILD=8300326 RECORDER=FX" + "\n";
macro1 += "" + "\n";
macro1 += "SET !DATASOURCE C:\\Users\\user1\\Documents\\REPORT_LINK_EXT_OBG.TXT" + "\n";
macro1 += "SET !DATASOURCE_LINE {{!LOOP}}" + "\n";
macro1 += "URL GOTO={{!COL1}}" + "\n";

宏 2:为宏 1 打开的每个页面提取链接。问题是,在宏 1 再次移动之前,宏 2 可能需要提取 1 到 50 个链接。

var macro2 = "CODE:";
macro2 += "VERSION BUILD=7500718 RECORDER=FX" + "\n";
macro2 += "SET !TIMEOUT_TAG 2" + "\n";
macro2 += "SET !LOOP 2" + "\n";
macro2 += "SET !EXTRACT_TEST_POPUP NO" + "\n";
macro2 += "TAG POS={{!LOOP}} TYPE=A ATTR=HREF:*WeldDataLog.aspx?* EXTRACT=HREF" + "\n";
macro2 += "TAG POS=1 TYPE=INPUT:TEXT FORM=NAME:aspnetForm ATTR=ID:ctl00_Main_ucReportHeader_pnlView_txtReportNumber EXTRACT=TXT" + "\n";
macro2 += "'----------------------------------\\/\\/\\/\\/\\/----Change this" + "\n";
macro2 += "SAVEAS TYPE=EXTRACT FOLDER=C:\\Users\\user1\\Documents FILE=LINK_EXT3test.TXT" + "\n";

我基本上需要

做 宏1 做 宏2 环形 循环

谁能帮我让这两个宏一起工作而不是相互对抗?

【问题讨论】:

    标签: javascript firefox loops nested imacros


    【解决方案1】:
    iimPlay(macro1)
    
    var link1=iimGetLastExtract();
    
    var link2_array=new Array();
    
    for(var i=0; i<50; i++)
    {
    
    iimPlay(macro2)
    link2_array[i]=iimGetLastExtract();
    
    
    }
    

    这样的东西对你有用吗?

    要检查链接是否正确提取,您可以使用此

    iimPlay(macro)
    var link=iimGetLastExtract();
    
    if(link=="EANF")
    {
    
    //link is not there
    
    }
    else
    {
    
    // link is there
    
    }
    

    改变 imacros 命令的位置。

    var macro;
    
    macro ="CODE:";
    macro +="TAG POS={{n}} TYPE=A ATTR=HREF:someurl.com EXTRACT=HREF";
    
    for (var i=1;i<=10;i++)
    {
    
    iimSet("n",i)
    iimPlay(macro)
    
    }
    

    【讨论】:

    • 如此接近。这将导航到第一个报告,并提取第一个链接 50 次。如何让它改变href位置,并在提取最后一个链接时停止?我会努力调整这个。非常感谢!
    • 您可以使用 if 子句,例如,如果返回的变量等于 #EANF#,那么您已经提取了最后一个链接。为了更改位置,您可以使用 POS={{n}} 并且在调用宏之前它将是 iimSet("n",some_number) 。我会在我的帖子中写这个。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-09-05
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多