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)