1、coverage包实现代码覆盖率
(1)pip install coverage
(2)coverage run XX.py(测试脚本文件)
(3)coverage report -m 在控制台打印出覆盖率信息报告
(4)coverage html 在同一目录下生成一个htmlcov文件夹,打开文件夹中的index.html即可图形化界面方式查看代码覆盖率
 
2、xpath 理解
(1)XPath 是一门在 XML 文档中查找信息的语言。XPath 用于在 XML 文档中通过元素和属性进行导航。
 
3、xpath基本语法
(1)斜线/从根节点开始选择,表示绝对路径
 
(2)双斜杠//相对路径,只要满足条件的都显示
 
 
练习:

选择所有父元素是DDD的BBB元素  语法://DDD/BBB

   <AAA>  
     <
BBB/>  
     <
CCC/>  
     <
BBB/>  
     <
DDD>  
          <
BBB/>  
     </
DDD>  
     <
CCC>  
          <
DDD>  
               <
BBB/>  
               <
BBB/>  
          </
DDD>  
     </
CCC>  
    </
AAA>

 

选择AAA的CCC的所有BBB元素  语法:/AAA/CCC//BBB

   <AAA>  
     <
BBB/>  
     <
CCC/>  
     <
BBB/>  
     <
DDD>  
          <
BBB/>  
     </
DDD>  
     <
CCC>  
          <
DDD>  
               <
BBB/>  
               <
BBB/>  
          </
DDD>  
     </
CCC>  
   </
AAA>

(3)点”.”选取当前节点

(2)点点”..”选取当前节点的父节点

(4)[@]属性
选择所有category属性
 
选取有category属性的book元素
 
选取有category="cooking"属性的book元素
 
选取所有属性category=“web”或category=“paperback”的元素
 
选取有任意属性的book元素
 
选择不具备某种属性的元素
 
相对属性查找
 
(5)找到第一个元素

选择AAA下的第一个BBB元素  语法:/AAA/BBB[1]

   <AAA> 
     <
BBB/> 
     <
BBB/> 
     <
BBB/> 
     <
BBB/> 
   </
AAA>

 
(6)选择AAA下的最后一个BBB元素  语法:/AAA/BBB[last()]

    <AAA> 
     <
BBB/> 
     <
BBB/> 
     <
BBB/> 
     <
BBB/> 
   </
AAA>

(7)选择AAA下的倒数第二个BBB元素  语法:/AAA/BBB[last()-1]

   <AAA> 
     <
BBB/> 
     <
BBB/> 
     <
BBB/> 
     <
BBB/> 
   </
AAA>

(8)选择AAA下的前面两个BBB元素  语法:/AAA/BBB[position()<3]

   <AAA> 
     <
BBB/> 
     <
BBB/> 
     <
BBB/> 
     <
BBB/> 
   </
AAA>

(9)获取AAA下的BBB下的有s属性的CCC元素   语法:/AAA/BBB/CCC[@s]

   <AAA> 
     <
BBB> 
          <
CCC s = "1"/> 
          <
CCC s = "2"/> 
          <
CCC s = "3"/> 
          <
CCC s = "4"/> 
          <
CCC s = "5"/> 
          <
CCC r = "a"/> 
     </
BBB> 
     <
CCC> 
          <
BBB r = "a"/> 
          <
BBB r = "b"/> 
          <
BBB r = "c"/> 
     </
CCC> 
     <
BBB/> 
     <
BBB/> 
  </
AAA>

 

【Python】xpath-1的更多相关文章

  1. 【Python】xpath中为什么粘贴进去代码后老报错?如何在定位元素的时候准确找到定位切入点?

    1. xpath后()中双引号("")里面不能套用双引号(""),把里面的双引号改成单引号('')报错就没有了. 2.如何在定位元素的时候准确找到定位切入点? ...

  2. 【python】列出http://www.cnblogs.com/xiandedanteng中所有博文的标题

    代码: # 列出http://www.cnblogs.com/xiandedanteng中所有博文的标题 from bs4 import BeautifulSoup import requests u ...

  3. 【python】自动更新pu口袋校园活动

    [python]自动更新pu口袋校园活动 脚本目标: 1. 自动爬取pu口袋校园活动,筛选出需要的活动,此处我的筛选条件是线上活动,因为可以不用去就可以白嫖学时 2. 自动发送邮件到QQ邮箱,每次只发 ...

  4. 【Python②】python之首秀

       第一个python程序 再次说明:后面所有代码均为Python 3.3.2版本(运行环境:Windows7)编写. 安装配置好python后,我们先来写第一个python程序.打开IDLE (P ...

  5. 【python】多进程锁multiprocess.Lock

    [python]多进程锁multiprocess.Lock 2013-09-13 13:48 11613人阅读 评论(2) 收藏 举报  分类: Python(38)  同步的方法基本与多线程相同. ...

  6. 【python】SQLAlchemy

    来源:廖雪峰 对比:[python]在python中调用mysql 注意连接数据库方式和数据操作方式! 今天发现了个处理数据库的好东西:SQLAlchemy 一般python处理mysql之类的数据库 ...

  7. 【python】getopt使用

    来源:http://blog.chinaunix.net/uid-21566578-id-438233.html 注意对比:[python]argparse模块 作者:limodou版权所有limod ...

  8. 【Python】如何安装easy_install?

    [Python]如何安装easy_install? http://jingyan.baidu.com/article/b907e627e78fe146e7891c25.html easy_instal ...

  9. 【Python】 零碎知识积累 II

    [Python] 零碎知识积累 II ■ 函数的参数默认值在函数定义时确定并保存在内存中,调用函数时不会在内存中新开辟一块空间然后用参数默认值重新赋值,而是单纯地引用这个参数原来的地址.这就带来了一个 ...

  10. 【Python】-NO.97.Note.2.Python -【Python 基本数据类型】

    1.0.0 Summary Tittle:[Python]-NO.97.Note.2.Python -[Python 基本数据类型] Style:Python Series:Python Since: ...

随机推荐

  1. GitHub 翻译之 'Hello-world' 翻译

    https://guides.github.com/activities/hello-world/ 页面翻译 The Hello World project is a time-honored tra ...

  2. js 过滤日期格式

    Date.prototype.Format = function (fmt) { //author: meizz var o = { "M+": this.getMonth() + ...

  3. PAT 1035 Password

    1035 Password (20 分)   To prepare for PAT, the judge sometimes has to generate random passwords for ...

  4. SQL Server 创建触发器(trigger)

    update 触发器: if(OBJECT_ID('trigger_compost_up') is not null) drop trigger trigger_compost_up go creat ...

  5. dubbo初认知(dubbo和springCloud关系,在微服务架构中的作用等)(持续更新中)

    一:dubbo是什么? dobbuo是阿里开源的一个高性能优秀的服务框架, 可通过高性能的 RPC 实现服务的输出和输入功能,使得应用可以和 高性能的rpc实现输入和输出的功能,可以了  Spring ...

  6. K-Means ++ 和 kmeans 区别

    Kmeans算法的缺陷 聚类中心的个数K 需要事先给定,但在实际中这个 K 值的选定是非常难以估计的,很多时候,事先并不知道给定的数据集应该分成多少个类别才最合适Kmeans需要人为地确定初始聚类中心 ...

  7. puppeteer 爬虫 pdf 截图 自动化

    puppeteer简介 puppeteer 翻译是操纵木偶的人,利用这个工具,我们能做一个操纵页面的人.puppeteer是一个nodejs的库,支持调用Chrome的API来操纵Web,相比较Sel ...

  8. linux:centOs7没有eth0网卡

    1.修改ifcfg-ens33为ifcfg-eth0 cd /etc/sysconfig/network-scripts/ su root                 #进入root模式,需要输入 ...

  9. day043 前端css样式

    标签嵌套规则 块级标签能够嵌套某些块级标签和内敛标签(行内标签) 内敛标签不能块级标签,只能嵌套内联标签 块级标签能够设置高度和宽度 内敛标签不能设置,设置没有效果 Css样式 高度宽度: Width ...

  10. 1014 2018 使用FLAG counter

    AmazingCounters.com 不能用了,服务器访问不了了,之前的博客浏览量也看不到了,1014号换了个新的--FLAG counter,就是博客右边那个.