如果你想使用类似于CSS或jQuery的语法来查找和操作元素,我们可以使用Element.select(String selector) 和 Elements.select(String selector) 方法实现:

File input = new File("html path");
Document document = Jsoup.parser(input, "UTF-8", "http://www.baidu.com");Elements links = docment.select("a[href]");  //带有href属性的a元素
Elements pngs = document.select("img[src$=.png]"); 扩展名为.png的图片Element masthead = document.select("div.masthead").first;  //获取class=masthead的div标签的第一个div
Elements resultLinks = document.select("h3.r > a"); // 获取class=r的h3元素后面的a元素

解说:
jsoup elements对象支持类似CSS或者JQuery的选择器,来实现非常强大及灵活的查找功能。这个select方法在Document、Elements和Element中都可以使用,且是上下文相关的,因此可以实现指定元素的过滤,或者链式选择访问。
Select方法将返回一个Elements集合,并提供一组方法来抽取和处理结果。

Selector选择器概述:

tagname:通过标签查找元素,比如:a
ns|tag:通过标签在命名空间查找元素,比如:可以用fb|name语法来查找<fb:name>元素
#id:通过ID查找元素,比如:#logo
.class:通过class名称查找元素,比如:.masthead
[attrbute]:利用属性查找元素,比如:[href]
[^attr]:利用属性名称前缀来查找元素,比如:可以用[^data-]来查找带有HTML5 Dataset属性的元素
[attr=value]:利用属性值来查找元素,比如:[width=500]
[attr^=value]、[attr$=value]、[attr*=value]:利用匹配属性值开头、结尾或包含属性值来查找元素,比如:[href*=/path/detail?date=20180419]
[attr~=regex]:利用属性值匹配正则表达式来查找元素,比如:
*:这个符号将匹配所有

Selector选择组合使用

el#id:元素+ID,比如:div#logo
el.class:元素+class,比如:div.masthead
el[attr]:元素+class, 比如:a[href]
任意组合,比如:a[href].highlight
ancestor child:查找某个元素下的子元素,比如:可以用.body p查找在body元素下的所有p元素
parent > child:查找某个父元素下的直接子元素,比如:可以用div.content >p查找p元素,也可以用body>*查找body标签下所有直接子元素
siblingA + siblingB:查找在A元素之前第一个同级元素B,比如:div.head + div
slblingA ~ siblingX:查找A元素之前的同级X元素,比如:h1~p
el,el,el:多个选择器组合,查找匹配任意选择器的唯一元素,例如:div.masthead,div.logo

伪选择器Selector

:lt(n):查找哪些元素的同级索引值小于n,比如:td:lt(3)表示小于三列的元素值
:gt(n):查找哪些元素的同级索引值大于n,比如:div p:gt(2)表示哪些div中有包含2个以上的p元素
:eq(n):查找哪些元素的同级索引值与n相等,比如: from input:eq(1)表示包含一个inout标签的Form元素
:has(selector):查找匹配选择器包含元素的元素,比如:div:has(p)表示哪些div包含p元素
:not(selector):查找与选择器不匹配的元素,比如:div:not(.logo)表示不包含class=logo元素的所有div列表
:contains(text):查找包含给定文本的元素,搜索不区分大小写,比如 p:contains(jsoup)
:containsOwn(text):查找直接包含给定文本的元素
:matches(regex):查找哪些元素的文本匹配指定的正则表达式,比如:div:matches((?i)login)
:matchesOwn(regex):查找自身包含文本匹配指定正则表达式的元素

Jsoup使用选择器语法来查找元素相关推荐

  1. 使用选择器语法来查找元素 - 你想使用类似于CSS或jQuery的语法来查找和操作元素...

    http://www.open-open.com/jsoup/selector-syntax.htm 转载于:https://www.cnblogs.com/yingwo/p/5606626.html

  2. Jsoup(三)-- Jsoup使用选择器语法查找DOM元素

    1.Jsoup可以使用类似于CSS或jQuery的语法来查找和操作元素. 2.实例如下: public static void main(String[] args) throws Exception ...

  3. jsoup select 选择器

    方法 利用方法:Element.select(String selector)和Elements.select(String selector). File input = new File(&quo ...

  4. jQuery(一)jQuery概述、使用方式、原理、查找元素

    jQuery 是一个快速.简洁的 JavaScript 框架,jQuery 设计的宗旨是 "write Less,Do More",即倡导写更少的代码,做更多的事情.它封装 Jav ...

  5. selenide 自动化测试进阶一: 查找元素和相关操作

    基础环境配置和举例请移步:https://www.cnblogs.com/davice/p/9298742.html 提到自动化有些测试同学就会问,我会使用工具录制做自动化,我会用工具或插件识别元素. ...

  6. 使用选择器语法查找元素——​​​​​​​Selector选择器概述 ——未完待续

    使用选择器语法查找元素 jsoup elements对象支持类似于CSS (或jquery)的选择器语法,来实现非常强大和灵活的查找功能. select 方法在Document, Element,或E ...

  7. jquery笔记一:下载安装、语法、选择器、遍历选择元素的方法、jQuery动画

    目前 jQuery 兼容于所有主流浏览器, 包括 IE 6!开发时常用 jquery.js,上线用 jquery.min.js. jq插件 目前jQuery有三个大版本: (1)1.x.x: 兼容ie ...

  8. jquery 后代元素_在jQuery中查找元素的所有后代

    jquery 后代元素 In this post, we are going to discuss about an important jQuery traversing method to fin ...

  9. js(JavaScript):面向对象,Document对象:查找元素对象,修改元素,事件

    面向对象编程 面向对象的编程,那么是更符合人类所接触的世界的逻辑思维. 将一个系统划分为各个子系统,子系统又由各个模块构成,将每个模块,系统划分为一个个对象,给这些对象赋予某些角色(属性/功能/方法) ...

最新文章

  1. easyui 报表合并单元格
  2. 仅需一部摄像机即可实现基于AI的3D重建
  3. CentOS7.2 安装Docker
  4. Prima Cartoonizer中文版
  5. mysql 5.1 备份_mysql 5.1备份到5.0 USING BTREE
  6. 傲腾内存 可以用ghost系统_玩机小贴士:Intel傲腾内存你用过没有?
  7. asp服务器端作用,ASP中的服务器端脚本代码由()解释执行。 - 问答库
  8. 【转】Win10系统怎么设置无线做AP热点_win10设置无线为ap热点的步骤
  9. nginx Alphabetical index of variables
  10. mysql sql执行cmd命令行_命令行执行MySQL的sql文件
  11. 一步步实现windows版ijkplayer系列文章之一Windows10平台编译ffmpeg 4.0.2,生成ffplay
  12. html5妇女节游戏,2018三八妇女节趣味游戏大全
  13. 怎么屏蔽百度搜索时的百度热榜?
  14. Spring_Ioc基本配置使用(基于xml)
  15. 搜狗输入法中文状态下开启和关闭英文自动提示
  16. 不能打印机与计算机,电脑打印机无法打印
  17. 如何利用python刷微博粉丝最多的明星_新手用微博,如何迅速增大粉丝数量?
  18. EXCEL-名称管理器
  19. 二进制输入记录(bi)
  20. Visual Studio Code之xml编辑器安装

热门文章

  1. react的导出是怎么实现的_从零开始开发一个 React
  2. node.js ajax success,前端如何通过ajax和node.js交互?
  3. GPS无线视频服务器,宏电环卫车无线视频监控与GPS定位系统设计方案.docx
  4. 安装linux必不可少的一个分区,安装linux系统对硬盘分区时,必须有的两种分区类型是什么?...
  5. mysql删除外键_MySQL删除外键定义的方法
  6. 网易邮箱广告标签怎么关 163邮箱去广告标签的教程
  7. Win11更新22000.71:优化任务栏、右键菜单视觉风格
  8. UC浏览器PC版新版有什么特点
  9. 优酷视频如何将地区设置为中国大陆
  10. Java分布式篇6——RabbitMQ