selenium录屏python_Selenium实现录屏的一种方法

本文介绍了通过Python的Selenium库结合多线程和PIL库来实现网页操作的录屏功能。首先创建一个循环截图函数,然后在Selenium驱动的Chrome浏览器中启动一个截图线程,实时保存屏幕快照。最后,将截图拼接成GIF动画,以直观展示网页交互过程。
摘要由CSDN通过智能技术生成

由于UI层自动化的不稳定性,经常会遇到执行中断或用例失败的问题,以下是一些常见的措施。

详细的日志

定位出错时截图

Pytest的缓存机制(可以记录成功了哪些失败了哪些)

自动重试机制(如pytest-rerunfailures)

用例录像

用例录像是最直观的一种方式,可以查看到实时的操作情况。很多云平台如Saucelabs等都提供了用例录像的功能。

然而很遗憾selenium本身没有这种能力。除了借助三方软件如ffmpeg同步录屏外,另外一种实现方法是另外启动一个线程,不断截图,最后将图片拼接成git。

操作方法如下。

实时截图

编写一个循环截图函数shot

def shot(dr):

i = 0

while True:

img_file = os.path.join(img_dir, f'{i}.png')

try:

dr.save_screenshot(img_file)

except:

return

i += 1

由于webdriver接口执行截图命令的速度限制,每一轮截图无需再sleep。

操作web时,启动一个线程

img_dir = 'img' # 临时图片目录

dr = webdriver.Chrome()

t = threading.Thread(target=shot, args=(dr, img_dir)) # 新建线程

t.start() # 启动截图线程

dr.get('https://www

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值