【问题标题】:imacros copy text list and paste with checkbox on wordpressimacros复制文本列表并在wordpress上粘贴复选框
【发布时间】:2017-09-17 06:12:13
【问题描述】:

我正在尝试复制一些文本列表并粘贴到带有复选框的 wordpress 类别,有一些条件。

在 TAB 1 中复制源代码:

TAB T=1
TAG POS=1 TYPE=LI ATTR=CLASS:entry-category EXTRACT=TXT
SET !VAR1 {{!EXTRACT}}
SET !EXTRACT NULL
TAG POS=2 TYPE=LI ATTR=CLASS:entry-category EXTRACT=TXT
SET !VAR2 {{!EXTRACT}}
SET !EXTRACT NULL
TAG POS=3 TYPE=LI ATTR=CLASS:entry-category EXTRACT=TXT
SET !VAR3 {{!EXTRACT}}
SET !EXTRACT NULL

在 TAB 2 上粘贴带有复选框的文本:

TAB T=2
TAG POS=1 TYPE=INPUT:CHECKBOX FORM=ID:post ATTR=ID:in-category-3 CONTENT=YES
TAG POS=1 TYPE=INPUT:CHECKBOX FORM=ID:post ATTR=ID:in-category-6 CONTENT=YES
TAG POS=1 TYPE=INPUT:CHECKBOX FORM=ID:post ATTR=ID:in-category-9 CONTENT=YES

条件:

IF (!VAR1 = TEXT1) {TAG POS=1 TYPE=INPUT:CHECKBOX FORM=ID:post ATTR=ID:in-category-3 CONTENT=YES}
IF (!VAR1 = TEXT2) {TAG POS=1 TYPE=INPUT:CHECKBOX FORM=ID:post ATTR=ID:in-category-6 CONTENT=YES}
IF (!VAR1 = TEXT3) {TAG POS=1 TYPE=INPUT:CHECKBOX FORM=ID:post ATTR=ID:in-category-9 CONTENT=YES}
IF (!VAR1 = #EANF#) {DO NOTHING}

如何在这种情况下制作 imacros?谢谢。

编辑:感谢 Naren Murali 的回答,但仅适用于第一个复选框,不能用于多个复选框。我们希望 Tab1 用于复制,Tab2 用于粘贴。从你的回答Text1,Text2,Text3看起来很敏感,可以阅读Text1但不能阅读TEXT1,我们可以不敏感吗? .注意:在 tab1 上一次提取一些文本列表到不同的变量中,然后转到 tab2 一次检查/勾选几个具有匹配条件的复选框。

【问题讨论】:

    标签: javascript wordpress imacros


    【解决方案1】:

    这应该对您有所帮助。首先,IMacros 不能做 if 条件,所以我们需要创建一个 javascript 文件 (*.js) 并在其中调用 IMacros 代码,如下面的代码所示。让我解释一下if条件,另外两个是基于相同的,所以一个if的代码是。

    iimPlay(macro1);
    var variableOne = iimGetLastExtract();
    if(variableOne === textOne){
        iimSet("j",3);
        iimPlay(output);
    }
    

    所以首先我们将播放macro1 这是IMacros 代码,在下面的代码中,我们可以看到在Javascript 中定义IMacros 代码的语法。所以在调用之后,我们需要将从 IMacros 获取的数据提取到 javascript 中进行验证,这是通过命令iimGetLastExtract() 完成的,它将获取提取的值并将其分配给变量(variableOne),然后我们有 if条件检查是否满足必要条件!

    如果满足条件,那么我们需要传递category 数字,将数据从Javascript 传递给IMacros,我们可以使用命令iimSet("j",3) 为变量j 分配一个数字,那么我们只需播放宏output,它将使用iimPlay(output) 进行选择。其他 if 条件也是如此。

    注意:请不要忘记将此内容保存在 script.js 文件中并在 IMacros 窗口中运行。

    代码:

    var macro1;
    macro1 =  "CODE:";
    macro1 +=  "SET !ERRORIGNORE YES" + "\n"; 
    macro1 +=  "SET !EXTRACT NULL" + "\n"; 
    macro1 +=  "TAG POS=1 TYPE=LI ATTR=CLASS:entry-category EXTRACT=TXT" + "\n"; 
    
    var macro2;
    macro2 = "CODE:" + "\n"; 
    macro2 +=  "SET !ERRORIGNORE YES" + "\n"; 
    macro2 +=  "SET !EXTRACT NULL" + "\n"; 
    macro2 += "TAG POS=2 TYPE=LI ATTR=CLASS:entry-category EXTRACT=TXT" + "\n"; 
    
    var macro3;
    macro3 = "CODE:" + "\n"; 
    macro3 +=  "SET !ERRORIGNORE YES" + "\n"; 
    macro3 +=  "SET !EXTRACT NULL" + "\n"; 
    macro3 += "TAG POS=3 TYPE=LI ATTR=CLASS:entry-category EXTRACT=TXT" + "\n"; 
    
    var output;
    output =  "CODE:";
    output +=  "SET !ERRORIGNORE YES" + "\n"; 
    output +=  "TAG POS=1 TYPE=INPUT:CHECKBOX FORM=ID:post ATTR=ID:in-category-{{j}} CONTENT=YES" + "\n"; 
    
    textOne = "Text1";
    textTwo = "Text2";
    textThree = "Text3";
    
    iimPlay(macro1);
    var variableOne = iimGetLastExtract();
    if(variableOne === textOne){
        iimSet("j",3);
        iimPlay(output);
    }
    iimPlay(macro2);
    var variableTwo = iimGetLastExtract();
    if(variableTwo === textTwo){
        iimSet("j",6);
        iimPlay(output);
    }
    
    iimPlay(macro3);
    var variableThree = iimGetLastExtract();
    if(variableThree === textThree){
        iimSet("j",9);
        iimPlay(output);
    }
    

    【讨论】:

    • 感谢@Naren Murali 的回答,但仅适用于第一个复选框,不能用于多个复选框。我们希望 Tab1 用于复制,Tab2 用于粘贴。从你的回答Text1,Text2,Text3看起来很敏感,可以读取Text1但不能读取TEXT1,我们可以不敏感吗? .注意:在 tab1 上一次提取一些文本列表到不同的变量中,然后转到 tab2 一次检查/勾选几个具有匹配条件的复选框。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-07-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多