Imacros命令使用语法一、命令参考1.ADD功能:为变量添加一个值语法:ADD result_var added_value示例1:SET !VAR1 100ADD !VAR1 -20=> Content of !VAR1 is 80示例2:SET !VAR1 HelloADD !VAR1 <SP>World<SP>ADD !VAR1 2010=> Content of !VAR1 is Hello World 2010示例3:ADD !EXTRACT {{!COL1}}2.CLICK语法:CLICK X=n Y=m示例1:URL GOTO=/Automate/TestForm1 ' Use CLICK command to select Apple Pie for dessertCLICK X=316 Y=4533.DISPLAY语法:DISPLAY message_text示例:DISPLAY "Loop is {{!LOOP}}"display #HIDEDISPLAY#Display ""4.EVAL功能:重新运算求出参数的内容示例:SET !VAR1 EVAL("Math.floor(Math.random()*5 + 1);")WAIT SECONDS={{!VAR1}}5.EVENT语法:EVENT TYPE=type [SELECTOR|XPATH]=localizer[BUTTON|POINT|CHAR|KEY]=[button|point|char|key] [MODIFIERS=modifiers]参数:TYPEThe event type to be fired by the command. Allowed values are: Mouse events•MOUSEDOWN,•MOUSEMOVE,•MOUSEUP,•CLICK,•DBLCLICKKeyboard events•KEYDOWN•KEYUP•KEYPRESS示例:URL GOTO=https:///#!/EVENT TYPE=MOUSEDOWNSELECTOR="#preview-svg>svg>svg>svg>foreignObject>DIV" BUTTON=0EVENTS TYPE=MOUSEMOVESELECTOR="#preview-svg>svg>svg>svg>foreignObject>DIV"POINTS="(131,254),(132,254),(134,254),(136,255),(139,256),(142,256),( 147,256),(153,257),(160,257),(169,258),(190,258)"EVENT TYPE=MOUSEMOVE SELECTOR="#containment" POINT="(204,257)"EVENT TYPE=MOUSEUP POINT="(386,254)"6.FILEDELETE语法:FILEDELETE NAME=file_name示例:FILEDELETE NAME=c:\output\mydata.csv7.FILTER语法:FILTER TYPE=IMAGES STATUS=(ON|OFF)Parameters•TYPESpecifies the type of elements to filter. Currently only IMAGES is supported •STATUSSpecifies whether the filter is turned on of off.8.FRAME语法:FRAME (F=n|NAME=id)示例:FRAME F=6TAG POS=1 TYPE=SPAN ATTR=TXT:Select<SP>pathFRAME NAME=contentsTAG POS=1 TYPE=P FORM=NAME:f3 ATTR=TXT:* EXTRACT=TXT9.ONDIALOG语法:ONDIALOG POS=n BUTTON=(OK|YES|NO|CANCEL) [CONTENT=some_content]示例:URL GOTO=/Automate/DialogsONDIALOG POS=1 BUTTON=OK CONTENT=TAG POS=1 TYPE=INPUT:BUTTON FORM=NAME:NoFormNameATTR=VALUE:Popup<SP>1ONDIALOG POS=1 BUTTON=OK CONTENT=TAG POS=1 TYPE=INPUT:BUTTON FORM=NAME:NoFormNameATTR=VALUE:Ask<SP>me<SP>a<SP>questionWAIT SECONDS=3TAG POS=1 TYPE=INPUT:BUTTON FORM=NAME:NoFormNameATTR=VALUE:Change<SP>background<SP>back<SP>to<SP>default<SP>10.ONDOWNLOAD语法:ONDOWNLOAD FOLDER=folder_name FILE=file_name WAIT=[YES|NO] CHECKSUM=[MD5|SHA:hexadecimal_string]示例1:ONDOWNLOAD FOLDER=* FILE=*ONDOWNLOAD FOLDER=C:\MyFiles\ FILE=myDownload.exe ONDOWNLOAD FOLDER=* FILE=+{{!NOW:yymmdd}}ONDOWNLOAD FOLDER=* FILE=* WAIT=YESCHECKSUM=SHA1:3FD97C2EC475731997F7F28CB5C07F3D1A1E820A示例2:‘下载PDF文件URL GOTO=/Automate/PDFDemo ONDOWNLOAD FOLDER=* FILE=+_{{!NOW:yyyymmdd_hhnnss}}TAG POS=1 TYPE=A ATTR=TXT:*View<SP>iMacros<SP>Case* 11.ONERRORDIALOG语法:ONERRORDIALOG BUTTON=(YES|NO) CONTINUE=(YES|NO)12.ONLOGIN语法:ONLOGIN USER=username PASSWORD=password RETRY=[YES|NO] 示例:ONLOGIN USER=username PASSWORD=passwordURL GOTO=13.PAUSE语法:PAUSE如果宏应该等待手动用户输入或进行调试,那么该命令非常有用。
14.PROMPT语法:PROMPT prompt_text variable_name [default_value]示例:SET !ENCRYPTION NOPROMPT "Please enter your password:" !VAR1TAG POS=1 TYPE=INPUT:PASSWORD FORM=NAME:loginbox ATTR=ID:pass CONTENT={{!VAR1}}15.PROXY语法:PROXY ADDRESS=proxy_URL:port [BYPASS=page_name]示例:PROXY ADDRESS=192.1.8.1:8080PROXY ADDRESS=:8080 BYPASS=*imacros*16.SAVEAS语法:SAVEAS TYPE=(CPL|MHT|HTM|TXT|EXTRACT|BMP|PNG|JPEG) FOLDER=folder_name FILE=file_name示例1:SAVEAS TYPE=MHT FOLDER=* FILE=homepage_currentSAVEAS TYPE=BMP FOLDER=C:\Screenshots FILE=+{{!NOW:ddmmyyyy}} SAVEAS TYPE=EXTRACT FOLDER="C:\\My Macros\\Downloads FILE=*" SAVEAS TYPE=EXTRACT FOLDER=C:\My<SP>Macros\Downloads FILE=*TAG POS=1 TYPE=H1 ATTR=TXT:* EXTRACT=TXTSAVEAS TYPE=CPL FOLDER=d:\reports FILE=report_{{!EXTRACT}}.htm示例2:URL GOTO=/Automate/SaveAsWAIT SECONDS=3URL GOTO=/imacros/'Save the page in all three different formatsSAVEAS TYPE=HTM FOLDER=* FILE=+_{{!NOW:yyyymmdd_hhnnss}} SAVEAS TYPE=TXT FOLDER=* FILE=+_{{!NOW:yyyymmdd_hhnnss}}17.SAVETARGETAS把目标另存URL GOTO=/Automate/SaveTargetAs'Download 1'Define download folder and fileONDOWNLOAD FOLDER=* FILE=+_pdf-file_{{!NOW:yyyymmdd_hhnnss}}'TAG statement, the CONTENT=EVENT:SAVETARGETAS part was added manually after recording TAG POS=1 TYPE=A ATTR=TXT:"Open PDF Document" CONTENT=EVENT:SAVETARGETAS'Download 2ONDOWNLOAD FOLDER=* FILE=+_video-file_{{!NOW:yyyymmdd_hhnnss}}TAG POS=1 TYPE=A ATTR=TXT:"Play Video" CONTENT=EVENT:SAVETARGETAS18.SAVEITEM语法:TAG POS=1 TYPE=INPUT:IMAGE FORM=NAME:frmImpact2 ATTR=ID:mapimg CONTENT=EVENT:SAVEITEMTAG POS=1 TYPE=IMG ATTR=HREF:http://*.jpg CONTENT=EVENT:SAVEITEM 19.SCREENSHOT语法:SCREENSHOT TYPE=(PAGE|BROWSER) FOLDER=folder_name FILE=file_name 示例:URL GOTO=/imacros/home/v9/home.aspSCREENSHOT TYPE=Page FOLDER=* FILE=*SCREENSHOT TYPE=Browser FOLDER=* FILE=*20.SEARCH语法:SEARCH SOURCE=(TXT|REGEXP) IGNORE_CASE=YES EXTRACT=$1示例:URL GOTO=/'Check for GA ObjectSEARCH SOURCE=TXT:"'GoogleAnalyticsObject'"'Check for GA Object, ignore caseSEARCH SOURCE=TXT:"'googleanalyticsobject'" IGNORE_CASE=YES'Use regular expression to extract dataSEARCH SOURCE=REGEXP:"ga\\('create', '([^']+)', ''\\)" EXTRACT="Tracker is $1"'Display extracted dataPROMPT {{!EXTRACT}}21.SET语法:SET var value示例:SET myDelay 10WAIT SECONDS={{myDelay}}SET !VAR1 Hello<SP>World=> Content of !VAR1 is "Hello World".22.STOPWATCH语法:STOPWATCH LABEL=id注意:您需要匹配的一对,因为这个命令返回两个秒表命令之间的差异。