zoukankan      html  css  js  c++  java
  • 接口测试脚本之Jsoup解析HTML

    第一次接触jsoup还是在处理收货地址的时候,当时在写一个下单流程,需要省市区id以及详细门牌号等等,因此同事介绍了jsoup,闲来无事,在此闲扯一番!

    1.我们来看下,什么是jsoup,先来看看官方文档是怎么说的:

    jsoup: Java HTML Parser,jsoup is a Java library for working with real-world HTML. It provides a very convenient API for extracting and manipulating data, using the best of DOM, CSS, and jquery-like methods.

    简单来说就是从HTML页面获取数据。

    2.jsoup能处理什么呢?

    (1)没有关闭的标签 (比如: <p>Lorem <p>Ipsum parses to <p>Lorem</p> <p>Ipsum</p>)
    (2)隐式标签 (比如. 它可以自动将 <td>Table data</td>包装成<table><tr><td>?)
    (3)创建可靠的文档结构(html标签包含head 和 body,在head只出现恰当的元素)

    3.先来看看实际操作吧

    (1)从一个URL加载一个Document

    首先我们新建一个java project,用jsoup获取百度title,结构如下图所示,下载jsoup包,如:jsoup-1.10.2.jar,将包引入jsoupdemo工程中

    (2)从文件中加载HTML,并用jsoup解析

    在该工程下新建一个package,名为resources,将百度首页源码保存为一个HTML文件,我们读取该HTML文件,并获取输入框的属性为id的值kw.

     (3)使用DOM方法来遍历一个文档,获取name属性和value值

    在resources下新建input.html

    通过以上操作,大家可能对jsoup有了初步的认识,我们来简单总结下jsoup语法

    <1>查找元素

    getElementById(String id)
    getElementsByTag(String tag)
    getElementsByClass(String className)
    getElementsByAttribute(String key) (and related methods)

    <2>元素数据

    attr(String key)获取属性attr(String key, String value)设置属性
    attributes()获取所有属性
    id(), className() and classNames()
    text()获取文本内容text(String value) 设置文本内容
    html()获取元素内HTMLhtml(String value)设置元素内的HTML内容
    outerHtml()获取元素外HTML内容
    data()获取数据内容(例如:script和style标签)
    tag() and tagName()

    <3>操作HTML和文本

    append(String html), prepend(String html)
    appendText(String text), prependText(String text)
    appendElement(String tagName), prependElement(String tagName)
    html(String value)

    以上就是jsoup简单的操作,作者本身也是第一次接触,欢迎大家指导学习。

  • 相关阅读:
    写在博客前面
    JavaAPI学习(一):API && String类 && Stringbuffer && StringBuilder
    Java面向对象(七):Object类 & 内部类 & 单例模式
    Java面向对象(六):抽象方法 & 接口 & 递归
    Java面向对象(五):OOP三大特性之多态 — final 关键字
    Java面向对象(四):OOP三大特性之封装与继承
    Java面向对象(三):Java权限修饰符—static关键字
    Java面向对象(二):成员变量—OOP中的内存管理—构造函数
    Java面向对象(一):方法—初识面向对象
    JavaSE学习(六):随机数—简单的排序算法
  • 原文地址:https://www.cnblogs.com/mrjade/p/6759207.html
Copyright © 2011-2022 走看看