selenium中截屏方法

有时候打印的错误信息不够直观

如果在脚本执行出错时能够对当前窗口进行截图并保存,那么就可以非常直观地看到脚本出错的原因。

WebDriver 提供了截图函数 save_screenshot (),可用来截取当前窗口

from selenium import webdriver

driver = webdriver.Chrome("../resources/chromedriver.exe")

driver.get("https://www.baidu.com")
driver.maximize_window()

# 截取整个页面
driver.get_screenshot_as_file("test.png")
driver.save_screenshot("tests.png")  # 该方法的最终调用的函数就是get_screenshot_as_file()
# 截取当前窗口,指定截图图片的保存位置 
# driver.save_screenshot("./files/baidu_img.png")
# 找到搜索框 inputElement = driver.find_element_by_id("kw") # 截取搜索框元素 inputElement.screenshot("inputElement.png")  # 后缀名建议写.png,否则会有Warining提示。

封装一个截图方法:

import os
path = os.path.dirname(__file__)
#截图方法
def base_screenshot_img(filename):
  now_time = time.strftime("%Y-%m-%d_%H_%M_%S_")
  filepath = path + "/Data/image/" + filename + now_time +".png"
  self.driver.get_screenshot_as_file(filepath)

 

posted @ 2023-07-01 02:46  天才九少  阅读(238)  评论(0编辑  收藏  举报