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简单的操作,作者本身也是第一次接触,欢迎大家指导学习。

  • 相关阅读:
    自定义view 画圆
    自定义view imageviw
    XML Stream
    Pull刷新加载
    Fragment事物
    Viewpager小圆点
    单个水波纹扩散
    多个彩色水波纹扩散效果
    自定义view
    获取sd的音乐文件
  • 原文地址:https://www.cnblogs.com/mrjade/p/6759207.html
Copyright © 2011-2022 走看看