选项卡切换和xpath解析

本文介绍了如何在Python中进行浏览器选项卡切换,使用`window_handles`获取窗口对象并切换。同时讲解了XPath解析,特别是使用lxml库进行XML和HTML内容解析,包括获取标签、内容、属性,以及使用谓语和通配符进行条件筛选。XPath的灵活性和实用性在数据抓取和网页解析中显得尤为重要。
摘要由CSDN通过智能技术生成

选项卡切换和xpath解析

选项卡切换

浏览器对象.window_handles - 获取当前浏览器中所有的窗口对象,返回一个列表;

浏览器对象.switch_to.window(窗口对象) - 切换选项卡

# 切换到最后一个选项卡
b.switch_to.window(b.window_handles[-1])
# 切换到第一个选项卡
b.switch_to.window(b.window_handles[0])

xpath解析

python基于和xpath做数据解析需要使用的库是lxml

1.lxml第三方库

1)作用:lxml可以解析xml内容也可以解析html内容。

2)xpath相关术语

树 - 这个网页或者xml文件对应的结构;

节点 - 标签、元素

根节点 - 最外层的标签

绝对路径 - 从根节点开始写的路径

相对路径 - 用.表示当前节点,用…表示父节点

节点内容 - 双标签的标签内容

属性 - 标签属性

2.xml数据结构

xml数据和json数据一样,是一种通用的数据格式。

3.xpath语法 - 获取标签

1)创建数并且获取根节点

etree.XML(xml数据)

创建xml树结构并且返回根节点;

etree.HTML(html数据)

创建html树结构并且返回根节点。

2)通过路径获取标签

节点对象.xpath(路径)

返回值是列表,列表中的元素是通过指定路径找到的所有标签对应的节点对象。

a.绝对路径:/绝对路径,绝对路径一定是从根节点开始往下写,和xpath前面是哪个节点无关;

b.相对路径:用 . 表示当前节点,xpath前面是哪个节点,当前节点就是谁;用 .. 表示当前节点的父节点;

c.任意路径://路径

3)获取标签内容

获取标签的路径/text()

在路径后面加/text()

4)获取标签属性值

获取标签的路径/@属性名

在路径后面加/@属性名

5)谓语 - 条件

a.位置相关条件

标签名[N] - 第N个指定标签;

标签名[last()] - 最后一个指定标签;

标签名[last()-N] - 倒数第(N+1)个指定标签;

标签名[postion()<N] - 获取所有位置值(从1开始)小于N的标签;

标签名[postion()>N] - 获取所有位置值(从1开始)大于N的标签;

标签名[postion()<=N] - 获取所有位置值(从1开始)小于等于N的标签;

标签名[postion()>=N] - 获取所有位置值(从1开始)大于等于N的标签;

b.和属性相关的条件

标签名[@属性名] - 获取拥有指定属性的指定标签

标签名[@属性名] - 获取指定属性为指定值的指定标签

c.和标签内容相关的条件

用子标签的标签内容对父标签进行筛选,通过标签中子标签的内容来对标签进行筛选

标签对象[子标签名>数据]

标签对象[子标签名<数据]

标签对象[子标签名>=数据]

标签对象[子标签名<=数据]

标签对象[子标签名=数据]

6)通配符

*

*代替任何标签或者任何属性

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值