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. win php安装 oracle11 g

    1.下载plsql和oracle11g plsql安装比较简单,就是普通的安装.oracle11 g不用安装, 下面我讲解一下win 64位的系统配置oracle: (1).首先我使用的是warpse ...

  2. 26. Remove Duplicates from Sorted Array C++ 删除排序数组中的重复项

    https://leetcode.com/problems/remove-duplicates-from-sorted-array/ 双指针,注意初始时左右指针指向首元素! class Solutio ...

  3. 牛客第二场A-run

    链接:https://www.nowcoder.com/acm/contest/140/A 来源:牛客网 White Cloud is exercising in the playground. Wh ...

  4. rdesktop安装教程

    1.介绍 rdesktop是Linux下连接windows远程桌面的工具 2.下载 https://github.com/rdesktop/rdesktop/releases 3.安装 mkdir / ...

  5. 套接字编程,创建套接字socket

    1.套接字地址结构: struct sockaddr { sa_family_t sa_family; char sa_data[14]; }; 其中,成员sa_family表示套接字的协议族类型,对 ...

  6. SpringBoot鸡汤(注解集合二)

    1.@NotNull :属性值不为空 2.@Profiles @Configuration @Profile("production") public class Producti ...

  7. e2e 测试 出现的错误

    每次开始学习vue的新知识时,总在环境这一块出现很多坑.这次我来记录一下,我在搭建vue e2e测试框架是踏过的坑吧. 我们都只知道,使用vue init webpack 项目名字<项目名字不能 ...

  8. Swagger 路径过滤 -PreSerializeFilters

    Swagger 默认显示所有api, 如果要做路径过滤,可以这样做. //过滤,只显示部分api app.UseSwagger(c=> { c.PreSerializeFilters.Add(( ...

  9. h5的坑

    转自 http://www.mahaixiang.cn 解决各种坑 http://www.mahaixiang.cn/ydseo/1529.html

  10. axure rp安装

    axure rp安装 1◆ axure rp 文件下载   2◆创建安装目录     3◆ 安装图解 4◆汉化 替换   5◆ 使用   success     1★AxureRP 8.0安装包 2★ ...