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

How to extract specific text with imacros xpath

我在网站上有这段代码:

<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() 但出现错误。

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

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

对于您的具体情况 Shugar 的代码稍作调整即可。拆分 \n 并提取 [1] :

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

如果您想要更通用的方法,您可以得到 li[1] 并在 [0] 处按 span 的内容拆分:

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}}