Python日志22

本文概述了使用Selenium进行浏览器选项卡操作的方法,包括window_handles的使用和window对象切换,并深入解析了XPath在数据抓取中的关键概念、语法和实例,涵盖了绝对路径、相对路径,以及结合条件筛选的复杂表达式。
摘要由CSDN通过智能技术生成

选项卡和xpath学习总结

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

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

xpath数据解析

import lxml
二、xpath
  1. lxml第三方库

    既可以解析xml内容也可以解析html内容

    xpath相关术语:

    • —— 整个网页或者xml文件对应的结构
    • 节点 —— 标签、元素
    • 根节点 —— 最外面的标签
    • 绝对路径 —— 从根节点开始的路径
    • 相对路径 —— 用 “ . ” 表示当前路径
    • 节点内容 —— 双标签的标签内容
    • 属性 —— 标签属性
  2. xml数据结构

    xml数据个json数据格式相同,是一种通用的数据格式

  3. xpath语法

    • 创建树并且获取根节点

      etree.XML(xml数据)		#创建xml树结构并且返回根节点
      
      etree.HTML(html数据)	    #创建html树结构并且返回根节点
      
    • 通过路径获取标签:节点对象.xpath(路径)—— 返回值是列表,列表中的元素是通过指定路径找到的所有标签对应的节点对象

      • 绝对路径:/ 绝对路径

        result = root.xpath('/1/2/3/4/text()')
        

        绝对路径一定是从根节点开始写,和xpath前面是哪个节点无关

      • 相对路径:// 相对路径

        “ . ” 表示当前节点 —— xpath前面是哪个节点,当前节点就是谁

        result = 1.xpath('./2/3/4/text()')
        

        ”. .“ 表示当前节点的父节点

        result = 2.xpath('../2/3/4/text()')
        
      • 获取标签内容:获取标签的路径/text()

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

      • 谓语 —— 条件

        位置相关的条件:

        标签名[N] — 第N个指定标签
        
        标签名[last()] — 最后一个指定标签
        
        标签名[last()-N] — 倒数第(N+1)个指定标签
        
        标签名[last()<N] — 获取所有位置值(1开始)小于N的指定标签
        
        标签名[last()>N] — 获取所有位置值(从N开始)大于N的指定标签
        
        标签名[last()<=N] — 获取所有位置值(1开始)小于等于N的指定标签
        
        标签名[last()=>N] — 获取所有位置值(从N开始)大于等于N的指定标签
        

        和属性相关的条件

        标签名[@属性名] —— 获取拥有指定属性的指定标签
        标签名[@属性名=] —— 获取指定属性为指定值的指定标签
        

        和标签内容相关的条件

        标签对象[子标签名>数据] —— 通过标签中的子标签的内容来对标签进行筛选
        
        标签对象[子标签名=>数据]
        
        标签对象[子标签名<数据]
        
        标签对象[子标签名<=数据]
        
        标签对象[子标签名=数据
        
      • 通配符 — *

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值