如何用jsoup选择带有破折号“-”的类?

时间:2018-09-21 19:58:35

标签: java jsoup

假设我要在html中选择以下jsoup

<p class="foo bar-baz">Hello World!</p>

我可以使用Documentdoc对象doc.select("p.foo")中选择它。这将查找具有foo类的段落。我想更具体一些,所以我尝试使用doc.select("p.foo.bar-baz")。我知道如果我用点分隔,我可以指定其他类,但是在上面的示例中,破折号似乎会引起问题。要选择类bar-baz,我还需要做什么?

1 个答案:

答案 0 :(得分:0)

原来的问题是,我依赖chrome中开发人员工具中的html,但是Document对象的html不同。这不是相同的代码,但实际上发生的是chrome会显示以下内容:

<p class="foo bar-baz">Hello World!</p>

当现实中html对象的Document仅具有以下条件时:

<p class="foo">Hello World!</p>

自然地,这就是空指针的原因。然后,我尝试选择带有破折号的元素,但是在处理它们时遇到了问题(如luksch在上面的评论中所指出的那样)。

我不确定为什么它们会显示不同的html,但是现在我知道我只能依靠Document html来选择元素。