如何使用imacros xpath提取特定文本

时间:2016-07-23 09:29:50

标签: html xpath html-lists imacros

我在网站上有这个代码:

<div id="1234">
<li>
text I want to extract
<span>
text I don't want to extract
</span>
</li>
</div>

我正在使用这个IMACROS代码,但它会提取两个文本:

TAG XPATH="id('1234')/li[1]" EXTRACT=TXT

我试图在最后使用text()但是出错了。

2 个答案:

答案 0 :(得分:3)

对于特定情况 Shugar的代码有一些调整可行。拆分\n并解压缩[1]

TAG XPATH="id('1234')/li[1]" EXTRACT=TXT
SET !EXTRACT EVAL("'{{!EXTRACT}}'.split('\\n')[1];")
PROMPT {{!EXTRACT}}

如果您想要更强大的常规方法,可以获得li[1]并按span [0]的内容进行拆分:

TAG XPATH="id('1234')/li[1]" EXTRACT=TXT
SET !VAR1 {{!EXTRACT}}
SET !EXTRACT NULL 
TAG XPATH="id('1234')/li[1]/span" EXTRACT=TXT
SET !EXTRACT EVAL("'{{!VAR1}}'.split('{{!EXTRACT}}')[0];")
PROMPT {{!EXTRACT}}

答案 1 :(得分:0)

我建议您在代码中再添加一行:

TAG XPATH="id('1234')/li[1]" EXTRACT=TXT
SET !EXTRACT EVAL("'{{!EXTRACT}}'.split('<span>')[0];")