网站首页 > 技术文章 正文
Selector 类是 jsoup 库中的一个核心类,用于通过 CSS 选择器语法来查找 HTML 文档中的元素。
选择器语法
通用选择器 * :匹配任何元素。
标签选择器 tag :匹配指定标签名的元素。
ID 选择器 #id :匹配具有指定 ID 的元素。
类选择器 .class :匹配具有指定类名的元素。
属性选择器 [attr] :匹配具有指定属性的元素。
属性值选择器 [attr=val] :匹配具有指定属性值的元素。
属性值前缀选择器 [attr^=valPrefix] :匹配属性值以指定前缀开头的元素。
属性值后缀选择器 [attr$=valSuffix] :匹配属性值以指定后缀结尾的元素。
属性值包含选择器 [attr*=valContaining] :匹配属性值包含指定文本的元素。
属性值正则选择器 [attr~=regex] :匹配属性值符合正则表达式的元素。
子元素选择器 E F :匹配作为 E 元素后代的 F 元素。
子元素选择器 E > F :匹配作为 E 元素直接子元素的 F 元素。
相邻兄弟选择器 E + F :匹配紧接在 E 元素后的 F 元素。
兄弟选择器 E ~ F :匹配在 E 元素之后的所有 F 元素。
分组选择器 E, F, G :匹配 E、F 或 G 元素。
伪类选择器
:lt(n) :匹配兄弟元素中索引小于 n 的元素。
:gt(n) :匹配兄弟元素中索引大于 n 的元素。
:eq(n) :匹配兄弟元素中索引等于 n 的元素。
:has(selector) :匹配包含指定选择器匹配的元素的元素。
:is(selector list) :匹配选择器列表中任意一个选择器的元素。
:not(selector) :匹配不匹配指定选择器的元素。
:contains(text) :匹配包含指定文本的元素。
:containsOwn(text) :匹配直接包含指定文本的元素。
:containsData(data) :匹配包含指定数据的元素。
:containsWholeText(text) :匹配包含指定完整文本的元素。
:containsWholeOwnText(text) :匹配直接包含指定完整文本的元素。
:matches(regex) :匹配包含符合正则表达式的文本的元素。
:matchesWholeText(regex) :匹配包含符合正则表达式的完整文本的元素。
:matchesWholeOwnText(regex) :匹配直接包含符合正则表达式的完整文本的元素。
结构伪类选择器
:root :匹配文档的根元素。
:nth-child(an+b) :匹配父元素之前有 an+b-1 个兄弟元素的元素。
:nth-last-child(an+b) :匹配父元素之后有 an+b-1 个兄弟元素的元素。
:nth-of-type(an+b) :匹配父元素之前有 an+b-1 个同类型兄弟元素的元素。
:nth-last-of-type(an+b) :匹配父元素之后有 an+b-1 个同类型兄弟元素的元素。
:first-child :匹配父元素的第一个子元素。
:last-child :匹配父元素的最后一个子元素。
:first-of-type :匹配父元素的第一个同类型子元素。
:last-of-type :匹配父元素的最后一个同类型子元素。
:only-child :匹配没有其他兄弟元素的元素。
:only-of-type :匹配没有其他同类型兄弟元素的元素。
:empty :匹配不包含任何子元素的元素。
方法
select(String query) :根据 CSS 选择器查找匹配的元素。
selectFirst(String cssQuery, Element root) :根据 CSS 选择器查找第一个匹配的元素。
注意事项
使用正则表达式时,可能需要使用 Pattern.quote("regex") 来正确解析。
特殊字符需要使用 \ 进行转义。
猜你喜欢
- 2025-06-15 研发Web Components库,深入探究DOM 节点之间的关系
- 2025-06-15 CSS基础(css基础知识)
- 2025-06-15 强大而好用的选择器:focus-within
- 2025-06-15 性能出色,纯CSS实现的loading动画——Loaders.css
- 2025-06-15 零基础学习HTML之CSS篇内联内部外部样式表和类型选择符
- 2025-06-15 CSS 选择器优化::where() 的妙用,让你的代码更优雅!
- 2025-06-15 CSS伪类选择器大全:提升网页交互与样式的神奇工具
- 2025-06-15 JavaScript开发基础——CSS知识(css开发技巧)
- 2025-06-15 JavaScript脚本如何断言select下拉框的元素内容?
- 2025-06-15 前端面试:css选择器有哪些,选择器的权重的优先级
- 08-06中等生如何学好初二数学函数篇
- 08-06C#构造函数
- 08-06初中数学:一次函数学习要点和方法
- 08-06仓颉编程语言基础-数据类型—结构类型
- 08-06C++实现委托机制
- 08-06初中VS高中三角函数:从"固定镜头"到"360°全景",数学视野升级
- 08-06一文讲透PLC中Static和Temp变量的区别
- 08-06类三剑客:一招修改所有对象!类方法与静态方法的核心区别!
- 最近发表
- 标签列表
-
- cmd/c (90)
- c++中::是什么意思 (84)
- 标签用于 (71)
- 主键只能有一个吗 (77)
- c#console.writeline不显示 (95)
- pythoncase语句 (88)
- es6includes (74)
- sqlset (76)
- windowsscripthost (69)
- apt-getinstall-y (100)
- node_modules怎么生成 (87)
- chromepost (71)
- flexdirection (73)
- c++int转char (80)
- mysqlany_value (79)
- static函数和普通函数 (84)
- el-date-picker开始日期早于结束日期 (70)
- asynccallback (71)
- localstorage.removeitem (74)
- vector线程安全吗 (70)
- java (73)
- js数组插入 (83)
- mac安装java (72)
- 查看mysql是否启动 (70)
- 无效的列索引 (74)