2013-01-01 36 views
1

我在Internet Explorer中使用Opus iMacros附加组件。下面的宏从我的Excel CSV文件的第一行获取一个变量,并在网站上执行搜索。网站的搜索结果可以是10到200条记录,每页20个(1-10页)。宏然后将每个页面提取到一个文本文件以备将来参考。iOpus iMacro网页扫描循环

SET !ERRORIGNORE YES 
SET !EXTRACT_TEST_POPUP NO 
TAB T=1 
TAB CLOSEALLOTHERS 
SET !DATASOURCE 7Digits.csv 
SET !DATASOURCE_Columns 1 
SET !DATASOURCE_LINE {{!LOOP}} 
'Login 
URL GOTO=https://SomeWebsite.com/login 
TAG POS=1 TYPE=INPUT:TEXT FORM=NAME:form1 ATTR=NAME:USER_NAME CONTENT=ABC123 
TAG POS=1 TYPE=INPUT:PASSWORD FORM=NAME:form1 ATTR=NAME:PASSWORD CONTENT=XXX 

'set search criteria on multiple search page 
TAG POS=1 TYPE=TEXTAREA FORM=NAME:form1 ATTR=NAME: NUMBER CONTENT={{!COL1}} 
TAG POS=1 TYPE=INPUT:IMAGE FORM=NAME:form1 ATTR=ID:SEARCH 
‘Extract results and SAVE 
TAG POS=1 TYPE=A ATTR=TXT:1 
TAG POS=2 TYPE=TABLE ATTR=TXT:*location* EXTRACT=TXT 
SAVEAS TYPE=txt FOLDER=* FILE=mytable_{{!NOW:yymmdd_hhnnss}} 
TAG POS=1 TYPE=A ATTR=TXT:2 
TAG POS=2 TYPE=TABLE ATTR=TXT:*location* EXTRACT=TXT 
SAVEAS TYPE=txt FOLDER=* FILE=mytable_{{!NOW:yymmdd_hhnnss}} 
TAG POS=1 TYPE=A ATTR=TXT:3 
TAG POS=2 TYPE=TABLE ATTR=TXT:*location* EXTRACT=TXT 
SAVEAS TYPE=txt FOLDER=* FILE=mytable_{{!NOW:yymmdd_hhnnss}} 
TAG POS=1 TYPE=A ATTR=TXT:4 
TAG POS=2 TYPE=TABLE ATTR=TXT:*location* EXTRACT=TXT 
SAVEAS TYPE=txt FOLDER=* FILE=mytable_{{!NOW:yymmdd_hhnnss}} 
TAG POS=1 TYPE=A ATTR=TXT:5 
TAG POS=2 TYPE=TABLE ATTR=TXT:*location* EXTRACT=TXT 
SAVEAS TYPE=txt FOLDER=* FILE=mytable_{{!NOW:yymmdd_hhnnss}} 
TAG POS=1 TYPE=A ATTR=TXT:6 
TAG POS=2 TYPE=TABLE ATTR=TXT:*location* EXTRACT=TXT 
SAVEAS TYPE=txt FOLDER=* FILE=mytable_{{!NOW:yymmdd_hhnnss}} 
TAG POS=1 TYPE=A ATTR=TXT:7 
TAG POS=2 TYPE=TABLE ATTR=TXT:*location* EXTRACT=TXT 
SAVEAS TYPE=txt FOLDER=* FILE=mytable_{{!NOW:yymmdd_hhnnss}} 
TAG POS=1 TYPE=A ATTR=TXT:8 
TAG POS=2 TYPE=TABLE ATTR=TXT:*location* EXTRACT=TXT 
SAVEAS TYPE=txt FOLDER=* FILE=mytable_{{!NOW:yymmdd_hhnnss}} 
TAG POS=1 TYPE=A ATTR=TXT:9 
TAG POS=2 TYPE=TABLE ATTR=TXT:*location* EXTRACT=TXT 
SAVEAS TYPE=txt FOLDER=* FILE=mytable_{{!NOW:yymmdd_hhnnss}} 
TAG POS=1 TYPE=A ATTR=TXT:10 
TAG POS=2 TYPE=TABLE ATTR=TXT:*location* EXTRACT=TXT 
SAVEAS TYPE=txt FOLDER=* FILE=mytable_{{!NOW:yymmdd_hhnnss}} 
'END 

我的挑战是找出一种办法取消了“SAVEAS”如果有小于10页的搜索结果。例如,如果搜索只返回60个结果,则宏只需要执行3次(20 x 3)SAVEAS命令。如何在不保存相同文本文件7次的情况下移动到下一个{{!LOOP}}

我试过了“!FAIL_ON_ALL_NAVIGATEERRORS”命令,但宏完全停止。我想移动到下一个记录而不是停止宏。

+1

一般的解决方法是刮结果的数量和使用EVAL进行比较,但还是有不中断或继续操作在iMacros的,所以你需要转换代码,js的JavaScript的格式,并进行比较和从js文件循环操作 – Bestmacros

回答

0

如果公式可以通过imacro javascript来实现。

if(search result<10) { 

perform your script 

}else { go to next page }