html - JSoup - 删除带有特定单词的标签(以及标签中的所有内容)
问题描述
我有一个网页,其中包含表单的 html 标签
<section class="feature-authorized-retailer pdp-outofstock-js hide">
<div class="retailer-notification">
<span>This product is out of stock</span>
</div>
<section id="marketing-product-actions" class="product-content-form-marketing-product-actions product-actions">
<div class="product-content-form-product-actions-primary product-actions-primary">
<a class="product-content-form-out-of-stock button secondary">Out of Stock</a>
</div>
</section>
</section>
正如您在外部“section”标签中看到的那样,它的类名中有“hide”一词。有没有办法使用JSoup在类名中使用“隐藏”一词来识别这些标签,以便我可以删除它们以及这些标签中的所有html?
解决方案
要使用 Jsoup 选择元素,您可以使用大多数CSS 选择器。
- 选择所有具有 class 的元素
hide
:
document.select(".hide")
元素可能包含许多类,但如果其中一个等于,这将匹配hide
。
它会匹配class="abc hide abc"
但不会匹配class="abc abchideabc abc"
。
class
选择属性值包含字符串的所有元素hide
;
document.select("[class~=hide]")
这个会匹配class="abc hide abc"
,但也会匹配class="abc abchideabc abc"
要删除选定的元素,请使用document.select(...).remove()
推荐阅读
- python - 隐藏输入只显示输出(PYTHON)以及另一个小问题
- google-play - 已发布的应用在 google play 上显示不同的签名
- reactjs - 表格行不可编辑
- flutter - Flutter SharedPreferences getBool 函数返回 null
- outliers - 如何在高度波动的数据点中查找和纠正异常值
- javascript - 带有 next.js 的内容丰富的富文本
- c# - 为什么尝试加载 System.Configuration.AppSettingsSection 配置部分失败?
- python - 无法使用 psycopg2 创建 citext 列
- reactjs - 如何在 React Native 中使用开/关按钮将数组项显示到列表中?
- r - 将 sjPlot::tab_model() 或其他 html 表格的输出编织到 PDF 文档中