如何解决在 <ul> 标签内迭代 <div> Java - Jsoup
我正在尝试使用 jsoup 将所有 visitor: {
Program(path,state) {
path.traverse({
ImportDeclaration: importVisitor,ExportNamedDeclaration: exportVisitor
},{ path,state })
}
}
放入 <div>
标记中。
这是 HTML
<ul>
我要迭代的是所有 <html>
<head>
<title>Try jsoup</title>
</head>
<body>
<ul class="product__listing product__grid">
<div class="product-item">
<div class="content-thumb_gridpage">
<a class="thumb" href="index1.html" title="Tittle 1">
</div>
</div>
<div class="product-item">
<div class="content-thumb_gridpage">
<a class="thumb" href="index2.html" title="Tittle 2">
</div>
</div>
<div class="product-item">
<div class="content-thumb_gridpage">
<a class="thumb" href="index3.html" title="Tittle 3">
</div>
</div>
</ul>
</body>
</html>
以便我可以将所有 <div class="product-item">
属性添加到列表中
<a class="thumb">
注意可以有 'N' List-product-details
[0] href="index1.html" title="Tittle 1"
[1] href="index2.html" title="Tittle 2"
[2] href="index3.html" title="Tittle 3"
个 div
这是我目前得到的:
product-item
解决方法
您是否尝试过逐行调试并检查您的代码在哪一行没有达到您的预期? 我看到两个错误。
- 第一个选择器
"ul.product__listing product__grid"
包含一个空格。现在它的意思是:找到类ul
的元素product__listing
并在内部搜索元素<product__grid> </product__grid>
。您可能的意思是:选择具有类ul
和类product__listing
的元素product__grid
。您必须在第二个类名之前使用点.
并删除空格以查看同一级别。所以正确的选择器应该是:"ul.product__listing.product__grid"
。 - 您使用的第二个选择器是
"ul.product-item"
。它将返回空结果。那是因为您已经在ul
中并且正在寻找另一个ul
。选择器应该与您所在的位置相关,因此仅使用".product-item"
就足够了。
现在我得到了输出:
Tittle 1 index1.html
Tittle 2 index2.html
Tittle 3 index3.html
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。