0


Selenium基础篇之屏幕截图方法

文章目录


前言

大家好,我是空空star,本篇给大家分享一下Selenium基础篇之屏幕截图方法。
本篇使用的selenium版本如下:
Version: 4.8.2
本篇使用的浏览器如下:


一、用途

Selenium截图是一种捕获网页屏幕截图的方式,它可以帮助开发人员在测试网页时捕获问题和错误,以便更好地分析和解决问题。

1.捕获页面错误

当测试Web应用程序时,经常会遇到页面错误。使用Selenium截图可以捕获这些错误,以便开发人员可以查看它们并进行修复。

2.调试测试用例

有时测试用例可能会出错。使用Selenium截图可以帮助开发人员找出出错的原因,以便进行调试和修复。

3.展示测试结果

Selenium截图可以用于展示测试结果,以便团队成员可以查看测试结果和问题。

4.记录页面状态

使用Selenium截图可以记录页面状态,以便在需要时进行比较和分析。

二、方法

1. save_screenshot

该函数接受一个参数,即保存屏幕截图的文件路径和文件名,文件格式通常为PNG。

from selenium import webdriver
driver = webdriver.Chrome()
driver.get('https://www.csdn.net/')
driver.save_screenshot('csdn.png')
driver.quit()

假如后缀格式为GIF,图片可以正常生成,但是控制台会有警告。
UserWarning: name used for saved screenshot does not match file type. It should end with a

.png

extension
warnings.warn(

2. get_screenshot_as_file

个人感觉和save_screenshot没有任何区别,也是接受一个参数,即保存屏幕截图的文件路径和文件名,文件格式通常为PNG。

from selenium import webdriver
driver = webdriver.Chrome()
driver.get('https://www.csdn.net/')
driver.get_screenshot_as_file('csdn.png')
driver.quit()

假如后缀格式为GIF,图片可以正常生成,但是控制台会有警告。
UserWarning: name used for saved screenshot does not match file type. It should end with a

.png

extension
warnings.warn(

方法1已经生成了一个csdn.png,所以方法2的csdn.png会把之前的覆盖掉。

3. get_screenshot_as_png

该方法返回值是一个二进制数据流,可以将其保存为PNG格式的图片文件。

from selenium import webdriver
driver = webdriver.Chrome()
driver.get('https://www.csdn.net/')
screenshot = driver.get_screenshot_as_png()withopen('csdn.png','wb')as f:
    f.write(screenshot)
driver.quit()

把.png改为.gif也可以保存成功,且控制台无警告。

4. get_screenshot_as_base64

该方法返回的是一个base64编码的字符串,需要使用base64解码器进行解码才能得到原始的图片数据。

import base64
from selenium import webdriver
driver = webdriver.Chrome()
driver.get('https://www.csdn.net/')
screenshot = driver.get_screenshot_as_base64()
image = base64.b64decode(screenshot)withopen('csdn.png','wb')as f:
    f.write(image)
driver.quit()

把.png改为.gif、.jpg也可以保存成功,且控制台无警告。


总结


本文转载自: https://blog.csdn.net/weixin_38093452/article/details/129877392
版权归原作者 空空star 所有, 如有侵权,请联系我们删除。

“Selenium基础篇之屏幕截图方法”的评论:

还没有评论