iMacros脚本运行报错:MacroSyntaxError,TAG命令格式错误求助
求助:iMacros机器人脚本语法错误排查
嘿,我不是程序员,但最近在跑一个iMacros机器人脚本的时候碰上个语法错误,实在搞不定,麻烦大佬帮忙看看问题出在哪!
我的脚本内容
VERSION BUILD=9030808 RECORDER=FX SET !ERRORIGNORE YES SET !EXTRACT_TEST_POPUP NO SET !VAR1 EVAL("var randomNumber=Math.floor(Math.random()*10 + 1); randomNumber;") SET !VAR2 EVAL("var randomNumber=Math.floor(Math.random()*60 + 1); randomNumber;") TAB T=1 EVENT TYPE=CLICK SELECTOR="HTML>BODY>DIV:nth-of-type(2)>SECTION>DIV>DIV>DIV>DIV>DIV:nth-of-type(2)>VIDEO" BUTTON=0 WAIT SECONDS={{!VAR1}} EVENT TYPE=CLICK SELECTOR="HTML>BODY>DIV:nth-of-type(2)>SECTION>DIV:nth-of-type(2)>DIV>DIV>DIV:nth-of-type(3)>DIV:nth-of-type(3)>BUTTON" BUTTON=0 WAIT SECONDS={{!VAR1}} EVENT TYPE=CLICK SELECTOR="HTML>BODY>DIV:nth-of-type(2)>SECTION>DIV:nth-of-type(2)>DIV>DIV>DIV:nth-of-type(2)>DIV>DIV>FORM>INPUT:nth-of-type(4)" BUTTON=0 WAIT SECONDS={{!VAR1}} TAB T=2 URL GOTO=commments.com WAIT SECONDS={{!VAR1}} TAG POS=1 TYPE=H1 ATTR=TXT EXTRACT=TXT SET !CLIPBOARD {{!EXTRACT}} TAB T=1 TAG POS=1 TYPE=INPUT:TEXT FORM=ID:comment_sent ATTR=ID:comment CONTENT={{!EXTRACT}} TAG POS=1 TYPE=INPUT:SUBMIT FORM=ID:comment_sent ATTR=* WAIT SECONDS={{!VAR2}} EVENT TYPE=CLICK SELECTOR="HTML>BODY>DIV:nth-of-type(2)>SECTION>DIV:nth-of-type(2)>DIV>DIV:nth-of-type(2)>DIV>DIV>A" BUTTON=0
报错信息
MacroSyntaxError: wrong format of TAG command
Error: Error in line 16 : TAG POS=1 TYPE=H1 ATTR=TXT EXTRACT=TXT
问题排查和修改方案
错误完全出在第16行的TAG命令上!iMacros里的TAG命令语法有明确要求:ATTR参数要么指定完整的属性键值对(比如ATTR=ID:page-title),要么用ATTR=*匹配任意属性。你写的ATTR=TXT属于不完整写法——如果是想通过文本内容定位元素,得写成ATTR=TXT:要匹配的具体文本;但你的需求是提取第一个H1标签的文本,根本不需要指定TXT属性,直接改成下面这样就行:
TAG POS=1 TYPE=H1 ATTR=* EXTRACT=TXT
简单来说就是把ATTR=TXT替换成ATTR=*,这样命令就会定位到页面上第一个H1标签,然后提取它的文本内容,语法就完全合规了。
内容的提问来源于stack exchange,提问作者Cesc Vö
相关产品推荐
相关产品推荐

