17-截图screenshot

 2023-09-05 阅读 71 评论 0

摘要:目录 1. 截图方法 2. 示例代码 2.1 捕获异常实现截图 2.2 装饰器实现截图 1. 截图方法 driver.get_screenshot_as_file(filename):将当前窗口的屏幕截图转换为PNG图像文件保存get_screenshot_as_png():获取作为二进制数据的当前窗口的截图get_screenshot_as_b

目录

1. 截图方法

2. 示例代码

  2.1 捕获异常实现截图

  2.2 装饰器实现截图


1. 截图方法

  • driver.get_screenshot_as_file(filename):将当前窗口的屏幕截图转换为PNG图像文件保存
  • get_screenshot_as_png():获取作为二进制数据的当前窗口的截图
  • get_screenshot_as_base64():以base64编码字符串的形式获取当前窗口的屏幕截图,一般使用在HTML中的链接图片

2. 示例代码

  2.1 捕获异常实现截图

# -*- coding: utf-8 -*-
# @Time    : 2021/1/23
# @Author  : 大海
import time
from selenium import webdriver
from selenium.common.exceptions import NoSuchElementExceptiondriver = webdriver.Chrome()driver.get('https://baidu.com')# 获取当前时间
nowTime = time.strftime("%Y%m%d.%H.%M.%S")
file_path = './%s.png' % nowTime  # 格式化字符串# 发生异常时截图,捕获异常
try:driver.find_element_by_id('kw1').send_keys('selenium')
except NoSuchElementException:   driver.get_screenshot_as_file(file_path) 
finally:driver.close()

  2.2 装饰器实现截图

# -*- coding: utf-8 -*-
# @Time    : 2021/1/23
# @Author  : 大海
import time
from functools import wraps
from selenium import webdriver
from selenium.common.exceptions import NoSuchElementExceptiondriver = webdriver.Chrome()
driver.get('https://baidu.com')# 获取当前时间
nowTime = time.strftime("%Y%m%d.%H.%M.%S")
file_path = './%s.png' % nowTime  # 格式化字符串# 装饰器
def screenshot(func):@wraps(func)def wrapper(*args, **kwargs):try:return func(*args, **kwargs)except Exception as e:driver.get_screenshot_as_file(file_path)print(e)finally:driver.close()return wrapper# 发生异常时截图
@screenshot
def screenshot_example():driver.find_element_by_id('kw1').send_keys('selenium')# 调用函数
screenshot_example()

 

版权声明:本站所有资料均为网友推荐收集整理而来,仅供学习和研究交流使用。

原文链接:https://808629.com/797.html

发表评论:

本站为非赢利网站,部分文章来源或改编自互联网及其他公众平台,主要目的在于分享信息,版权归原作者所有,内容仅供读者参考,如有侵权请联系我们删除!

Copyright © 2022 86后生记录生活 Inc. 保留所有权利。

底部版权信息