Selenium基础篇之屏幕截图方法


前言


一、用途

1.捕获页面错误

2.调试测试用例

3.展示测试结果

4.记录页面状态

二、方法

1. save_screenshot

from selenium import webdriver
driver = webdriver.Chrome()
driver.get(https://www..net/)
driver.save_screenshot(.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

from selenium import webdriver
driver = webdriver.Chrome()
driver.get(https://www..net/)
driver.get_screenshot_as_file(.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已经生成了一个.png,所以方法2的.png会把之前的覆盖掉。

3. get_screenshot_as_png

该方法返回值是一个二进制数据流,可以将其保存为PNG格式的图片文件。
from selenium import webdriver
driver = webdriver.Chrome()
driver.get(https://www..net/)
screenshot = driver.get_screenshot_as_png()
with open(.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..net/)
screenshot = driver.get_screenshot_as_base64()
image = base64.b64decode(screenshot)
with open(.png, wb) as f:
    f.write(image)
driver.quit()
把.png改为.gif、.jpg也可以保存成功,且控制台无警告。

总结

经验分享 程序员 微信小程序 职场和发展