我正在使用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
有谁能告诉我我做错了什么?
答案 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数据。