Python+Selenium笔记(十六)屏幕截图

时间:2023-03-09 02:54:14
Python+Selenium笔记(十六)屏幕截图

(一) 方法

方法

简单说明

save_screenshot(filename)

 

获取当前屏幕截图并保存为指定文件

filename:路径/文件名

get_screenshot_as_base64()

获取当前屏幕截图base64编码字符串

get_screenshot_as_file(filename)

获取当前屏幕截图,使用完整的路径。如果有任何IOerror,返回false,否则返回true

filename:路径/文件名

get_screenshot_as_png()

获取当前屏幕截图的二进制路径

(二) 屏幕截图示例(代码肯定会报错的哈,这里是为了演示测试失败时,自动截图的功能(比如有的时候弹出不应该有的警告或者错误信息什么的,就可以截图保留记录))

 from selenium import webdriver
import unittest
from selenium.common.exceptions import NoSuchElementException
class Login(unittest.TestCase):
@classmethod
def setUpClass(cls):
cls.driver = webdriver.Chrome()
cls.driver.implicitly_wait(5)
cls.driver.maximize_window()
cls.driver.get("https://www.cnblogs.com/") def test_login(self):
try:
login_area = self.driver.find_element_by_css_selector('#login_area')
register = login_area.find_element_by_link_text('注册111')
register.click()
except NoSuchElementException:
#找不到元素时,截图
self.driver.save_screenshot('image/test_login/test_login_area.png')
raise @classmethod
def tearDownClass(cls):
cls.driver.quit()

相应的文件目录下可以看到图片

Python+Selenium笔记(十六)屏幕截图