python读取xml、html文件

自动化测试设计测试用例时有的用例需要重复执行很多次,此时就需要对测试使用到的测试值进行参数化设计,而且参数化有利于测试用例的后期维护;并且自动化web测试也需要xpath进行页面元素的定位,所以我学习下python如何处理xml文件。

以下为使用到的html文件,把他放在了程序父文件夹的configure文件夹下



<html>
    <head>
        <title>通讯录</title>
        <meta http-equiv="content-type" content="text/html; charset=UTF-8" />
    </head>
    <body>
        <center><h1>通讯录</h1></center>
        <table border="1" align="center" id="contactForm">
            <thead>
                <tr><th>编号</th><th>姓名</th><th>性别</th><th>年龄</th><th>地址</th><th>电话</th></tr>
            </thead>
            <tbody>
                <tr>
                <td>001</td>
                <td>张三</td>
                <td>男</td>
                <td>18</td>
                <td lang="10">广州市天河区</td>
                <td>134000000000</td>
                </tr>
                <tr>
                <td lang="20">002</td>
                <td>李四</td>
                <td>女</td>
                <td>20</td>
                <td>广州市越秀区</td>
                <td>13888888888</td>
                </tr>
                <tr>
                <td>002</td>
                <td>郭靖</td>
                <td>男</td>
                <td>30</td>
                <td>广州市番禺区</td>
                <td>1111</td>
                </tr>
            </tbody>
        </table>
    </body>
</html>

先下载需要的库lxml,我是直接在pycharm中下载的库,如果使用pip安装可能使用:
pip install lxml
命令会失败,需要加版本号之类的。然后从文件中读取数据
from lxml import etree
f = open("../configure/a.html","r",encoding="utf-8") #读取文件
f = f.read()  #把文件内容转化为字符串
html = etree.HTML(f) #把字符串转化为可处理的格式
之后我主要写了两个函数,一个是把表格进行分项输出,一个是测试不同符号的使用.test1:
def test1(html):
    result = html.xpath(‘//tbody/tr/td/text()‘) #把html文件中所有表格数据都存入result中,需注意result是一个列表
    num = len(result)
    i = 1
    while 6 * i <= num:  #示例html文件中每一行有6列,所以以6个单元为一组对列表进行分片读取,需注意,这种方法需要保证表格中没有空元素或者和开发约定好假如有空元素以空格为占位符
        first = (i - 1) * 6
        last = i * 6 - 1
        print(result[first:last + 1])
        i += 1
test2:
def test2(html):
    result = html.xpath(‘//tbody/tr/td[@lang]/text()‘)
    result2 = html.xpath(‘//tbody/tr/td[@lang=20]/text()‘)
    result3 = html.xpath(‘//tbody/tr/*/text()‘)
    print(result)
    print(result2)
    print(result3)
调用函数:
test1()
test2()
 

原文地址:https://www.cnblogs.com/yingyingdeyueer/p/11269252.html

时间: 2024-09-30 20:12:12

python读取xml、html文件的相关文章

读取xml格式文件

$v = [xml]get-content d:\vmconfig.xml $v.Domain.Computer.Name vmconfig.xml内容: <?xml version="1.0" encoding="UTF-8"?><Domain><Computer><Name>stcmm-vm-s01</Name><IpAddress>192.168.0.2</IpAddress>

Python读取中文txt文件错误:UnicodeEncodeError: &#39;gbk&#39; codec can&#39;t encode character

1 with open(file,'r') as f: 2 line=f.readline() 3 i=1 4 while line: 5 line=line.decode('utf-8') 6 print str(i)+": "+line7 line=f.readline() 8 i=i+1 用以上代码读取一个包含中文的txt文件时,在正确地读取并打印了六百多行之后,print str(i)+": "+line这一行报错: UnicodeEncodeError:

Python读取jsonlines格式文件

Python读取jsonlines格式文件 json lines文件是一种便于存储结构化数据的格式,可以一次处理一条记录.可以用作日志文件或者其他.每条json数据之间存在一个"\n"分隔符. 具体信息可以查看http://jsonlines.org/ 之前爬虫存储数据,使用了这个格式文件,但是在读取的时候,Python内置的json函数,会进行报错: 在网上找到了两个库: 1.jsonlines,文档:https://jsonlines.readthedocs.io/en/lates

python读取xml文件报错ValueError: multi-byte encodings are not supported

1.在使用python对xml文件进行读取时,提示ValueError: multi-byte encodings are not supported 很多贴子上说把xml的编码格式改为,就可以正常执行了 <?xml version="1.0" encoding="utf-8"?> 但是事实证明,不成功,解决方法 1.用记事本方式打开xml文件,encoding后面指的就是编码方式 2.把你的xml文件另外为utf-8 在进行读取,文件编码问题解决 原文

Python读取和处理文件后缀为&quot;.sqlite&quot;的数据文件

最近在弄一个项目分析的时候,看到有一个后缀为”.sqlite”的数据文件,由于以前没怎么接触过,就想着怎么用python来打开并进行数据分析与处理,于是稍微研究了一下. SQLite是一款非常流行的关系型数据库,由于它非常轻盈,因此被大量应用程序采用. 像csv文件一样,SQLite可以将数据存储于单个数据文件,以便方便的分享给其他人员.许多编程语言都支持SQLite数据的处理,python语言也不例外. sqlite3是python的一个标准库,可以用于处理SQLite数据库. 用sqlite

python——读取MATLAB数据文件 *.mat

鉴于以后的目标主要是利用现有的Matlab数据(.mat或者.txt),主要考虑python导入Matlab数据的问题.以下代码可以解决python读取.mat文件的问题.主要使用sicpy.io即可.sicpy.io提供了两个函数loadmat和savemat,非常方便. # adapted from http://blog.csdn.net/rumswell/article/details/8545087 import scipy.io as sio #import matplotlib.p

读取xml数据文件(转)

java里有个properties类  可以用它来读取XML文件   xml文件:  Xml代码 <?xml version="1.0" encoding="GB2312"?>  <RESULT>  <VALUE>  <NO>A1234</NO>  <ADDR>河南省郑州市</ADDR>  </VALUE>  <VALUE>  <NO>B1234&

python 读取xml文件

首先,获得标签信息abc.xml <?xml version="1.0" encoding="utf-8"?> <catalog> <maxid>4</maxid> <login username="pytest" password="123456"> <caption>Python</caption> <item id="4&

python 读取固定格式文件

环境:这几天在使用python开发程序的过程中,需要连接到mysql数据库,而且涉及到不同的服务器和不同的数据库,前期使用测试服来做测试,不想在python程序里频繁去更改数据库的配置信息,于是想到将全部的数据库配置写进一个db.conf文件里去读取,也是基于安全性的考虑. 于是写了一个基于固定格式的文件读取程序,案例如下. 测试文件内容: title1 1,line 1 2,line 2 3,line 3 title2 4,line 4 5,line 5 6,line 6 title3 7,l