问题描述
在 Jenkins Pipeline 中,我们需要对 HTML 文档进行多种操作。之前使用 XMLParser 及 XMLSlurper 库操作 HTML 文档时遇到很多问题,因为 HTML 文档结构松散(比如没有结束标签等等),不是标准的 XML 文件,因此导致 XML 解析失败。
我们现在使用 Jsoup 操作 HTML 文档,该笔记将整理:使用 Jsoup 操作 HTML 文档的常用方法
相关链接
项目主页:jsoup Java HTML Parser, with the best of HTML5 DOM methods and CSS selectors.
获取文档的 DOM 对象:Parsing and traversing a Document: jsoup Java HTML parser
使用选择器选择元素:Use selector-syntax to find elements: jsoup Java HTML parser
元素的查找、获取、操作:Use DOM methods to navigate a document: jsoup Java HTML parser
简单的入门示例
@Grab(group='org.jsoup', module='jsoup', version='1.10.1') import org.jsoup.Jsoup def htmlString = "<html><head><title>Title of Page</title></></head></html>" def htmlDocument = Jsoup.parse(htmlString) println htmlDocument.getElementsByTag("title").text()
注意事项
如果可能,尽量不要使用任何 XML 类库操作 HTML 文本。
参考文献
WikiNotes/操作 HTML 文档
Html Slurping in Groovy
Use DOM methods to navigate a document