iMacros从HTML列表中获取文本
问题描述:
我正在使用iMacros尝试从每个列表项中获取文本。我简单的HTML看起来像这样...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 =文件:/// C:/test.html TAG POS = 1个TYPE = UL ATTR = ID:fruit_list EXTRACT = TXT
结果我得到的回复是...
AppleApplePearAppleApplePearBananaAppleApplePearAppleApplePearBananaGrape
当什么,我希望是......
Apple Pear Banana Grape
任何人都可以告诉我我做错了什么吗?
答
似乎并不容易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}}
使用正则表达式删除所有的HTML标签和额外的空格只是保持你想要的LI-项目数据。