Javascript iMacro Div中的多个链接
在iMacro中,我试图提取div中的多个链接,转到它们并下载页面。我目前有多个标签和下载良好,但不知道如何提取多个链接,并前往每一个。 html的外观如下所示:Javascript iMacro Div中的多个链接,javascript,html,firefox,imacros,Javascript,Html,Firefox,Imacros,在iMacro中,我试图提取div中的多个链接,转到它们并下载页面。我目前有多个标签和下载良好,但不知道如何提取多个链接,并前往每一个。 html的外观如下所示: <div class="bodyTXT"> <table class="bodytxt"> <tr valign="top"> <td> <table class="bodyTXT"> <tr valign="
<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>
作为一种更通用的解决方案,我可以推荐以下代码:
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
(如果需要,请注意提取顺序。)作为更通用的解决方案,我可以推荐以下代码:
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
(如果需要,请注意摘录的顺序。)如果其中一个表中缺少第二个链接,是否有办法做到这一点?如果其中一个表中缺少第二个链接,是否有办法做到这一点?