前言
在自动化测试的过程中,有时候需要截屏,比如有些地方出现了 bug,需要将当前页面进行截屏。
截屏方法
WebDriver 内置了一些截屏的方法:
- save_screenshot() 截取当前屏幕并保存为指定文件
- get_screenshot_as_file() 截取当前屏幕保存到完整的路径下
实例1:将截屏保存到当前目录
from selenium import webdriver
from time import sleep
driver = webdriver.Chrome()
driver.get('http://www.baidu.com')
sleep(2)
# 截屏保存到当前目录
driver.save_screenshot('baidu.png')
driver.quit()
实例2:将截屏以当前时间命名并保存
from selenium import webdriver
from time import sleep, strftime, localtime, time
driver = webdriver.Chrome()
driver.get('http://www.baidu.com')
sleep(2)
# 获取当前时间
st = strftime('%Y-%m-%d-%H-%M-%S', localtime(time()))
file_name = st + '.png'
# 以当前时间命名保存截屏文件
driver.save_screenshot(file_name)
driver.quit()
实例3:将截屏保存到指定的文件路径下
from selenium import webdriver
from time import sleep, strftime, localtime, time
import os
driver = webdriver.Chrome()
driver.get('http://www.baidu.com')
sleep(2)
# 获取当前时间
st = strftime('%Y-%m-%d-%H-%M-%S', localtime(time()))
file_name = st + '.png'
# 获取 screenshot 文件夹的绝对路径
path = os.path.abspath('screenshot')
# 保存截图的路径
file_path = path + '/' + file_name
# 将截屏保存到指定的文件路径
driver.get_screenshot_as_file(file_path)
driver.quit()