我正在解析的html是这样的:
<article id="1234" class="bg-post ">
....
</article>
当我尝试使用jsoup解析它时,我得到一个空字符串
Elements e = doc.select("article[class=bg-post ]");
或使用
Elements e = doc.getElementsByClass("bg-post ");
e
的大小为0,e.toString()
为空。
与类名末尾的空格有关吗,我该如何解决此问题。
谢谢。
编辑:
也尝试在没有空格的情况下进行搜索
Elements e = doc.select("article[class=bg-post]");
还是同样的问题。
答案 0 :(得分:0)
对我
Elements e = doc.select("article[class=bg-post ]");
工作正常!
这是我的代码:
Document document = Jsoup.connect("http://localhost:8080/index.html").get();
Elements select = document.select("article[class=bg-post ]");
html:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
</head>
<body>
<article id="1234" class="bg-post ">
<div>test1</div>
<div>test2</div>
<div>test3</div>
</article>
</body>
</html>
和依赖项:
<dependency>
<groupId>org.jsoup</groupId>
<artifactId>jsoup</artifactId>
<version>1.11.3</version>
</dependency>
答案 1 :(得分:0)
这是一个影响JSoup
之前的1.8.2
版本的错误
如果属性未正确进行空间归一化,则不能简单地通过属性值选择元素。
如果您确实必须坚持使用一些旧的JSoup
版本,则可以采用这种性能较低的方法来解决它:
document.select(".bg-post").select("article")