Selenium基础篇之屏幕截图方法

文章目录

  • 前言
  • 一、用途
    • 1.捕获页面错误
    • 2.调试测试用例
    • 3.展示测试结果
    • 4.记录页面状态
  • 二、方法
    • 1. save_screenshot
    • 2. get_screenshot_as_file
    • 3. get_screenshot_as_png
    • 4. get_screenshot_as_base64
  • 总结

前言

大家好,我是空空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()
with open('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)
with open('csdn.png', 'wb') as f:
    f.write(image)
driver.quit()

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

总结

文章出处登录后可见!

已经登录?立即刷新

共计人评分,平均

到目前为止还没有投票!成为第一位评论此文章。

(0)
乘风的头像乘风管理团队
上一篇 2023年6月15日
下一篇 2023年6月15日

相关推荐