金天牛

导航

< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5

统计

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   金天牛  阅读(69)  评论(0编辑  收藏  举报

相关博文:
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构
点击右上角即可分享
微信分享提示