Xpath 我如何指向一个没有';是否不包含任何HTML标记?

Xpath 我如何指向一个没有';是否不包含任何HTML标记?,xpath,Xpath,我有以下HTML代码: <html> <span class='whatever'> <div @id='xyz'> "text1" "text2" <=== I am trying to extract this text </div> </span> </html> “文本1” “text2”这实际上取决于用于html的解析器的类型。htm

我有以下HTML代码:

<html>

<span class='whatever'>

  <div @id='xyz'>
    "text1"
    "text2"   <=== I am trying to extract this text
  </div>
</span>
</html>

“文本1”

“text2”这实际上取决于用于html的解析器的类型。html解析器将为您提供类似于内部html或内部文本节点get模块的内容。你可以使用它,如果你只想要文本2,你可以使用正则表达式或其他东西来过滤文本


如果html也是由您编写的,那么还有另一种方法。然后,您可以用span标记将text2括起来并直接获取它。

这实际上取决于您对html使用的解析器类型。html解析器将为您提供类似于内部html或内部文本节点get模块的内容。你可以使用它,如果你只想要文本2,你可以使用正则表达式或其他东西来过滤文本


如果html也是由您编写的,那么还有另一种方法。然后,您可以使用span标记将text2括起来并直接获取它。

您可以使用
//div[@id='xyz']/text()提取完整的
text
,然后使用

text.split('\n')[-1]

您可以使用
//div[@id='xyz']/text()
XPath提取完整的
text
,然后使用

text.split('\n')[-1]

这回答了你的问题吗?此外,也许您应该包含[Python]标记。这是否回答了您的问题?此外,也许您应该包括[Python]标记。我一直在使用这种方法,但不知道是否有更好的方法。看起来没有。我想补充的一点是,在末尾添加
/text()
不是一个好方法,因为每当我们尝试通过selenium获取此元素时,都会导致错误,因为selenium只允许获取HTML元素。但我意识到我的问题中没有提到硒,所以我想我们可以保持现状。我一直在使用这种方法,但不知道是否有更好的方法。看起来没有。我想补充的一点是,在末尾添加
/text()
不是一个好方法,因为每当我们尝试通过selenium获取此元素时,都会导致错误,因为selenium只允许获取HTML元素。但我意识到我的问题中没有提到硒,所以我想我们可以保持现状。