我有Imacro代码,代码首先用一些文本填充字段。我想在填写表单后,搜索每个已填充的表单以检查一些文本,如果它在任何字段中找到此文本,则替换文本字符串 任何想法如何做到这一点
首先,我想遍历所有字段并检查字符串" strong" (在POS 3中)并保存POS = 3
接下来删除字符串" strong"来自POS = 3
请分享任何想法如何做到
答案 0 :(得分:2)
试试这个宏:
SET textOut "strong"
SET textIn ""
SET !EXTRACT_TEST_POPUP NO
TAG POS=1 TYPE=TEXTAREA FORM=ID:post ATTR=NAME:answer[] EXTRACT=TXT
TAG POS=2 TYPE=TEXTAREA FORM=ID:post ATTR=NAME:answer[] EXTRACT=TXT
TAG POS=3 TYPE=TEXTAREA FORM=ID:post ATTR=NAME:answer[] EXTRACT=TXT
TAG POS=4 TYPE=TEXTAREA FORM=ID:post ATTR=NAME:answer[] EXTRACT=TXT
SET posNum EVAL("var a = '{{!EXTRACT}}'.split('[EXTRACT]'); for (i in a) if (a[i].match(/{{textOut}}/)) break; ++i;")
SET !EXTRACT NULL
TAG POS={{posNum}} TYPE=TEXTAREA FORM=ID:post ATTR=NAME:answer[] EXTRACT=TXT
SET newText EVAL("'{{!EXTRACT}}'.replace(/{{textOut}}/g, '{{textIn}}').trim();")
TAG POS={{posNum}} TYPE=TEXTAREA FORM=ID:post ATTR=NAME:answer[] CONTENT={{newText}}
旧信息。
这是替换第一个textarea中的一些文本的代码:
SET textOut "abc"
SET textIn "def"
SET !EXTRACT_TEST_POPUP NO
TAG POS=1 TYPE=TEXTAREA FORM=ID:post ATTR=NAME:answer[] EXTRACT=TXT
SET newText EVAL("'{{!EXTRACT}}'.replace(/{{textOut}}/g, '{{textIn}}');")
TAG POS=1 TYPE=TEXTAREA FORM=ID:post ATTR=NAME:answer[] CONTENT={{newText}}
SET !EXTRACT NULL
对于其他字段,只需更改POS
参数的编号。
要定义位置编号,您可以调整以下块:
SET curPos 1
TAG POS={{curPos}} TYPE=TEXTAREA FORM=ID:post ATTR=NAME:answer[] EXTRACT=TXT
SET posNum EVAL("('{{!EXTRACT}}'.match(/{{textOut}}/)) ? {{curPos}} : 'NULL';")
PROMPT {{posNum}}