在iMacro中,我试图提取div中的多个链接,然后转到它们并下载页面。我目前有多个标签,下载效果很好,但不知道如何提取多个链接并转到每个链接。
html看起来像这样:
<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
(如果需要,请注意提取顺序)。
关于javascript - iMacro Div中的多个链接,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/42099357/