2017-02-07 30 views
1

在iMacro中,我試圖提取div中的多個鏈接,轉到他們並下載頁面。我目前有多個選項卡和下載好,但不知道如何提取多個鏈接,並去每一個。 的HTML看起來是這樣的:iMacro在Div中的多個鏈接

<div class="bodyTXT"> 
    <table class="bodytxt"> 
    <tr valign="top"> 
     <td> 
     <table class="bodyTXT"> 
      <tr valign="top"> 
      <td> 
       <!--Has two links inside :(--> 
       <a href="a/relative/link/add/domain/before"> 
       <a href="example.com" target="_blank">example.com</a> 
      </td> 
      </tr> 
     </table> 

     <table class="bodyTXT"> 
      <tr valign="top"> 
      <td> 
       <!--Has two links inside :(--> 
       <a href="a/different/relative/link/add/domain/before"> 
       <a href="another-example.com" target="_blank">another-example.com</a> 
      </td> 
      </tr> 
     </table> 
     </td> 
    </table> 
</div> 

回答

2

作爲一個更普遍的解決方案,我可以建議這樣的代碼:

SET startLoop 1 
SET !EXTRACT_TEST_POPUP NO 
TAG POS=1 TYPE=TABLE ATTR=CLASS:bodyTXT EXTRACT=HTM 
SET maxLoop EVAL("'{{!EXTRACT}}'.match(/ href=/g).length;") 
SET !LOOP EVAL(1-{{maxLoop}}+{{startLoop}}) 
SET normLoop EVAL({{!LOOP}}+{{maxLoop}}-1) 

TAG POS=R-1 TYPE=* ATTR=* EXTRACT=TXT 
SET !EXTRACT NULL 
TAG POS=R{{normLoop}} TYPE=A ATTR=* EXTRACT=HREF 

'PROMPT {{!EXTRACT}} 



你可以嘗試如下適用相對定位:

TAG POS=3 TYPE=TABLE ATTR=CLASS:bodyTXT 
TAG POS=R-2 TYPE=A ATTR=* EXTRACT=HREF 
TAG POS=R2 TYPE=A ATTR=* EXTRACT=HREF 
TAG POS=R-1 TYPE=A ATTR=* EXTRACT=HREF 
TAG POS=R2 TYPE=A ATTR=* EXTRACT=HREF 

(如果需要注意提取物的順序。)

+0

有沒有辦法做到這一點,如果也許第二個鏈接是在一個表中缺失? – Goodwin

1

你可以嘗試使用POS = {{!POS}},然後啓動宏與LOOP按鈕。這將一步一步找到所有的鏈接。