html - 如何使用 CSS 选择器划分 div 元素的内容?

标签 html css css-selectors divide

假设我有类似的东西:

<div class="c1">
    BlahBlahBlah Some text that I want to fetch.
    <br/>
    <div class="c2">something does not important.</div>
    <a href="blabla.html">a link text</a>
</div>

我只想获取“BlahBlahBlah 我想要获取的一些文本。”文本。当我使用“div.c1”css 选择器时,它会给出“BlahBlahBlah 一些我想获取的文本。有些并不重要。一个链接文本。”

如何获取我想要的文本? (注意:HTML代码没有错误,请不要修改,肯定是我写的。我要抓取文本的站点不属于我,所以我无法更改代码。)

最佳答案

简单的回答。你不能。 CSS 选择器以节点为目标,而不是某些文本中的特定字母。当您考虑使用伪选择器时,会有一些小异常(exception),但您无法仅使用 CSS 完成您想要的。

我的最佳建议是修改 HTML 并将您想要定位的内容包装在 <span> 中。元素并为其提供一个您可以实际定位的 CSS 类。

编辑:(因为发现你不能修改页面,你正在使用 Jsoup 来获取它。)

由于您正在使用 Jsoup 来获取页面并以您的节点为目标,因此您只需再执行一个步骤即可获取您的文本。基本上,在您选择节点并获取内部文本后,只需在其上运行正则表达式并获取第一个句点之前的所有内容。

您的正则表达式在 Java 中应如下所示:"(.*\\.)"

关于html - 如何使用 CSS 选择器划分 div 元素的内容?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39497390/

相关文章:

javascript - 如何隐藏特定的tr :nth-child(6) based on the content of a tr:nth-child(7) > td:nth-child(2)

html - Flexbox 不遵守 overflow-x : hidden on body (Safari/iOS webkit)

javascript - 从单个 HTML *字符串* 注册多个部分

php - 过期的链接

javascript - 水平滚动恢复到原始滚动位置

javascript - 检查单击了哪个按钮以更改颜色

css - css 中的第 n 个子选择器

html - 为什么带有 > 符号(直接子项)的 CSS 选择器会覆盖默认样式?

css - 我如何让 CSS 类的优先级受到 "more closely"里面的哪个类的影响?

android - 媒体查询不适用于 Android