金天牛

导航

selenium截图功能

在服务器运行selenium时,用例报错,只看代码和日志,分析起来还是有点难度的。针对这点,selenium还提供了截图功能,保留当前页面,方便后续分析错误。

常用方法介绍如下:

一、保存为png格式

方法1:save_screenshot

方法2:get_screenshot_as_file

这2个方法差不多,代码演示如下,使用driver.get_screenshot_as_file(pic_name)或driver.save_screenshot(pic_name)都可以。

 1 import os
 2 from selenium import webdriver
 3 import time
 4 
 5 
 6 driver = webdriver.Chrome()
 7 driver.maximize_window()
 8 driver.get('https://www.baidu.com')
 9 pic_name = os.path.dirname(os.path.abspath(__file__)) + "\\img\\" + time.strftime("%Y%m%d%H%M%S", time.localtime()) +".png"   # 截图文件名,在当前文件的父目录下面建有文件夹img,用来保存图片。要确保此文件夹存在。
10 driver.get_screenshot_as_file(pic_name)  # 截图,格式为png
11 # driver.save_screenshot(pic_name)  # 截图,格式为png
12 driver.quit()

 

二、保存为其他类型格式,比如jpg

方法3:get_screenshot_as_base64

这个方法可以保存为多种图片类型,相对上面会比较麻烦点,代码举例如下

 1 import os
 2 from selenium import webdriver
 3 import base64
 4 import time
 5 
 6 
 7 driver = webdriver.Chrome()
 8 driver.maximize_window()
 9 driver.get('https://www.baidu.com')
10 pic_name = os.path.dirname(os.path.abspath(__file__)) + "\\img\\" + time.strftime("%Y%m%d%H%M%S", time.localtime()) +".jpg"   # 截图文件名
13 scr = driver.get_screenshot_as_base64()  # 截图,格式为base64
14 image = base64.b64decode(scr)
15 file_img = open(pic_name, 'wb')
16 file_img.write(image)
17 driver.quit()

 

参考:https://www.cnblogs.com/hls-code/p/16396744.html

posted on 2024-02-19 15:44  金天牛  阅读(56)  评论(0编辑  收藏  举报