python网页编程测试_吴裕雄--天生自然python学习笔记:python实现自动网页测试

本文介绍如何利用Python中的hashlib和Selenium库实现网页自动化测试。通过md5算法判断文件是否更新,减少不必要的数据抓取,提高效率。同时展示了如何使用Selenium进行网页自动化测试。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Python 可实现的网页测试的功能十分强大,甚至能通

过编程来实现让绝大多数的测试过程自动化。 这对很多开

发者来说,绝对是不可多得的神器。

hash lib 纽件可以判别文件是否有过更改,只需要用

md5 方法对指定的文件进行编码,即可进行比对。

Selenium 是相当著名的网页自动化测试纽件,它可以

通过指令自动对网页进行测试。 Selenium 还能使开发网页

时的大量重复性操作实现自动化,并在设直的时间内自动

运行, 功能相当强大。

检查网蜡数据是否更新

抓取网站的数据时通常需要把数据保存在文件或数据库中 。每一次读取网站数

据 ,都必须占用宝贵的网络资源 ,为 了提高效率 ,如果网站内容没有更新,就没有

再次读取数据的必要 ,我们 只要从上次保存的文件或数据库中读取就可以了 。

用 hashlib 判别文件是否有过更新

Python 提供 hash lib 组件可以判别文件是否更新过,最简单的方式是通过 m d5 方

法对指定的二进制文件生成编码,只要文件有过更新,就会产生不同的 md5 码 。

使用 has hlib 之前,首先要导入 ha s h lib 组件,再通过 md5 方法创建一个对象。

例如 : 创建一个 md5 对象 。

用所创建的 md5 对象的 update 方法,可对指定字符串进行加密,其中的字符串

必须是二进制类型: hexdigest 方法可以得到十六进制的加密结果 。 语法示例如下 :

这种方式有点麻烦,比较简单的方式是跳过创建 md5 对象和 update 方法,直接

把指定二进制字符串作为 hashlib.md5 () 参数,例如:

用 md5 检查网站内容是否更新

要实现此功能 , 首先我们要把网站先前创建的 md5 码保存起来,然后与新创建

的 md5 码进行比较,这样就可判断出网站内容是否进行了更新 。

以下程序中,我们将新浪新同先前的 md5 码保存在 <old md5 . tx t> 文件中,再读

取出新创建的 md5 码后进行比对,结束后,用最新的 md5 码覆盖原来的 o ld rnd5 .txt

文件 。 (<md5 . py>)

import hashlib,os,requests

url = "http://opendata.epa.gov.tw/ws/Data/REWXQA/?$orderby=SiteName&$skip=0&$top=1000&format=json"

# 读取网页原始码

html=requests.get(url).text.encode('utf-8-sig')

# 判断网页是否更新

md5 = hashlib.md5(html).hexdigest()

if os.path.exists('F:\\pythonBase\\pythonex\\ch06\\old_md5.txt'):

with open('F:\\pythonBase\\pythonex\\ch06\\old_md5.txt', 'r') as f:

old_md5 = f.read()

with open('F:\\pythonBase\\pythonex\\ch06\\old_md5.txt', 'w') as f:

f.write(md5)

else:

with open('F:\\pythonBase\\pythonex\\ch06\\old_md5.txt', 'w') as f:

f.write(md5)

if md5 != old_md5:

print('数据已更新...')

else:

print('数据未更新,从数据库读取...')

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值