2013-02-18 89 views
1

由表的一个提取每一个行使用iMacros的脚本提取表中的一个的每一行由一个使用iMacros的脚本

TAG POS=2 TYPE=TABLE ATTR=TXT:* EXTRACT=TXT 
SET !LOOP 1 
SET !DATASOURCE_LINE {{!LOOP}} 
TAG POS=13 TYPE=TD ATTR=TXT:* EXTRACT=TXT 
SET !VAR1 EVAL("var s=\"{{!EXTRACT}}\"; s.trim()") 
SET !VAR1 EVAL("var s=\"{{!EXTRACT}}\"; s.replace(\"%\",\"\");") 
PROMPT {{!VAR1}} 
TAG POS=R1 TYPE=TD ATTR=TXT:* EXTRACT=TXT 
TAG POS=1 TYPE=INPUT:TEXT ATTR=ID:url EXTRACT=TXT 

'TAG POS=4 TYPE=TR ATTR=CLASS:even&&TXT:* EXTRACT=TXT 
'TAG POS=5 TYPE=TR ATTR=CLASS:even&&TXT:* EXTRACT=TXT 
'URL GOTO={{!COL1}} 
'SET !VAR1 EVAL("var s=\"{{!EXTRACT}}\"; var d=parseInt(s);") 

'SET !VAR1 EVAL("var s=\"{{!var1}}\"; s.replace(\"%\",\"\");") 
'SET !EXTRACT {{!VAR1}} 
'PROMPT {{!VAR1}} 
SAVEAS TYPE=EXTRACT FOLDER=* FILE=viken1.csv 

我已经试过了,但它给了我只有一行,但我必须提取表中的每一行,请使用图像提示我一些方法

回答

2

我想你必须从宏代码中删除SET !LOOP 1。每次播放脚本时,循环将设置为值1.但是!LOOP通常是当前循环编号,因此在宏的开始处不需要将其设置为1。 它始终设置为1,并随着循环循环而增加。

+0

它只对第一个循环有效,在其余时间内不做任何事情。 – Tatarize 2017-10-09 18:34:21