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. 笔记react router 4(二)

    上一篇我们提到react router 4的dom特性.那么这一次,我们来说一说4.X中的路由组件嵌套. 用过3.X的同学应该知道,路由组件的嵌套(即,路由的配置)方式是通过给<Route> ...

  2. Leetcode 1029. 可被 5 整除的二进制前缀

    1029. 可被 5 整除的二进制前缀  显示英文描述 我的提交返回竞赛   用户通过次数467 用户尝试次数662 通过次数477 提交次数1964 题目难度Easy 给定由若干 0 和 1 组成的 ...

  3. spring security antMatchers相关内容

    一.antMatcher与antMatchers的区别以及使用场景 来源:https://stackoverflow.com/questions/35890540/when-to-use-spring ...

  4. 三、存储过程(Stored Procedure)与游标(Cursor)

    一.存储过程 一组为了完成特定功能的SQL语句集,经编译后存储在数据库中,用户通过指定存储过程的名字并给出参数,来执行它. 在大型数据库中,存储过程和触发器具有重要的作用.无论是存储过程还是触发器,都 ...

  5. Hadoop---hu-hadoop1: mv: cannot stat `/home/bigdata/hadoop-2.6.0/logs/hadoop-root-datanode-hu-hadoop1.out.4': No such file or directory

    hu-hadoop1: mv: cannot stat `/home/bigdata/hadoop-2.6.0/logs/hadoop-root-datanode-hu-hadoop1.out.4': ...

  6. 在Eclipse中无法链接到svn,出现Previous operation has not finished; run 'cleanup' if it was interrupted异常

    由于使用了clean或是clean up导致和svn断开链接 1.下载一个sqlite3.exe 2.将sqlite3.exe放到本项目的.svn同级目录下(.svn默认是隐藏,让.svn文件夹显示查 ...

  7. 2015-09-22 css2

    6.块元素和行内元素 1. 块元素特点:默认显示在父标签的左上角 块级元素默认占满一行(占满整个文档流) 常见的块元素:p,h1--h6,ul li, ol li,div,hr,table. 2.行内 ...

  8. ubuntu shell编程笔记

    and 命令 if  [   A  -a   B ] then else fi while [ ] do done set command set  these are parameters $1 s ...

  9. nginx:负载均衡(三)分流策略

    [1]轮询策略.轮询策略是最简单的策略,无脑配置,不考虑服务器的访问的能力.每个请求按照时间顺序逐一分配到不同的后端服务器,如果后端服务器down掉,能自动剔除 upstream www.daysn. ...

  10. TiDB 深度实践之旅--真实“踩坑”经历

    美团点评 TiDB 深度实践之旅(9000 字长文 / 真实“踩坑”经历) 4   PingCAP · 154 天前 · 3956 次点击 这是一个创建于 154 天前的主题,其中的信息可能已经有所发 ...