iMacros从HTML列表中获取文本

时间:2017-09-30 17:07:43

标签: imacros

我正在使用iMacros尝试从每个列表项中获取文本。我的简单HTML看起来像这样......

<ul id="fruit_list">
    <li>Apple</li>
    <li>Pear</li>
    <li>Banana</li>
    <li>Grape</li>
</ul>

我的iMacros脚本就像这样..

TAB T = 1 URL GOTO = file:/// C:/test.html TAG POS = 1 TYPE = UL ATTR = ID:fruit_list EXTRACT = TXT

我得到的结果是......

AppleApplePearAppleApplePearBananaAppleApplePearAppleApplePearBananaGrape

当我期待的是......

Apple Pear Banana Grape

有谁能告诉我我做错了什么?

1 个答案:

答案 0 :(得分:1)

似乎没有简单的EXTRACT选项以这种方式涵盖无序列表......最简单的方法是提取HTML代码并使用SET/EVAL在Javascript中解析它。

看起来像这样

TAG POS=1 TYPE=UL ATTR=ID:fruit_list EXTRACT=HTM
SET neat_list EVAL("var e_s = '{{!EXTRACT}}'; e_s.substring(e_s.indexOf('<li>'), e_s.lastIndexOf('<\\/li>')).replace(/(<li>|<\\/li>)/g, '').replace(/ +/g, ' ');")
PROMPT {{neat_list}}

使用Regex删除所有HTML标记和其他空格,以保留所需的LI-Item数据。