我需要从 html 文件中的节点中提取文本,并且我正在尝试使用 XPath 和 Javascript。
要求的条件是文本必须包含特定的单词。
让我们以下一个 html 文件为例:
<html>
<body>
<p>
Hi, try to extract the word username here and here <b>username</b>
</p>
</body>
</html>
并尝试使用以下表达式从包含单词“用户名”的文本节点中获取文本:
var search = document.evaluate('//*[contains(child::text(), \"username\")]/child::text()', document, null, XPathResult.ANY_TYPE, null);
通过搜索迭代我找到了想要的结果,但也找到了不需要的对象:
["Hi, try to extract the word username here and here", Text, "username"]
其中 Text 是一个对象,其 textContent 只是回车符(我使用的是 Google Chrome 控制台)。这个物体是从哪里来的?
请问谁能给出一个更精确的 XPath 表达式来排除这些对象,或者我应该在我的代码中排除它们吗?
理想的搜索应该是:
["Hi, try to extract the word username here and here", "username"]
谢谢大家!