2017-02-07 3 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. Это будет шаг за шагом найти все ссылки.

Смежные вопросы