selenium学习使用操作大全(Python版)——网页解析(HTML、xpath)-灵析社区

熊Sir

网页解析(HTML、xpath)

1.HTML

HTML【Hyper Text Markup Language】:超文本标记语言,不是编程语言,用来描述网页的。也称为:网页的源码、html源码、html文档、document。

具体,可以查看:

网页的源码,html源码,html文档,document

HTML常用标签

HTML示例:

<!DOCTYPE html>
<html lang="zh-CN">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
    <style>
        #table {
            border: 1px solid
        }

        .th {
            font-size: 20px
        }
    </style>
</head>
<body>
<div>我是一个div标签</div>
<h1>我是一个大<span style="color:red">标签</span></h1>
<p></p>
<a href="https://blog.csdn.net/testleaf">testleaf</a>
<table id="table">
    <thead>
    <tr>
        <th class="th aaa">字段1</th>
        <th class="th">字段2</th>
        <th class="th">字段3</th>
    </tr>
    </thead>
    <tbody>
    <tr>
        <td>1</td>
        <td>2</td>
        <td>3</td>
    </tr>
    </tbody>
</table>
<form action="">
    <p>用户名: <input type="text"></p>
    <p>密码:<input type="password"></p>
    <p><input type="submit"></p>
</form>
</body>
</html>

2.xpath

xpath:一个解析html/xml的语言。


语法

选取节点

nodename 选取此节点的所有子节点

/ 从根节点选取

// 从匹配选择的当前节点选择文档中的节点,不考虑它们的位置

. 选取当前节点

… 表示选取当前节点的父节点,如://div[@class="active"]/..

@ 选取属性

案例

//div 获取文档中的所有的div

谓语 用来查找特定的节点,或者包含指定值的节点

谓语被包裹在中括号中

//div[@class="active"]

//div[@class="active" and @id="kw"]

//div[@class="active" or @id="kw"]

//div[@class="active"]/span[last()]

轴 用来查找相对于当前节点的节点

使用语法 轴名称::节点名称[谓语]

ancestor 选取当前节点的所有父辈节点

parent 选取当前节点的父节点

如://div[@class="active"]/child::book

…详见 https://www.w3school.com.cn/xpath/xpath_axes.asp

函数

text() 元素的text内容

//li[text()="强烈推荐"]

contains(@属性名/text(), value)包含的内容

//li[contains(@class, "ls")]

在浏览器中进行验证:

$x('//div')

阅读量:2043

点赞量:0

收藏量:0