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

 (一) 方法

方法

简单说明

save_screenshot(filename)

 

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

filename:路径/文件名

get_screenshot_as_base64()

 

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

get_screenshot_as_file(filename)

 

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

filename:路径/文件名

get_screenshot_as_png()

 

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


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

 1 from selenium import webdriver
 2 import unittest
 3 from selenium.common.exceptions import NoSuchElementException
 4 class Login(unittest.TestCase):
 5     @classmethod
 6     def setUpClass(cls):
 7         cls.driver = webdriver.Chrome()
 8         cls.driver.implicitly_wait(5)
 9         cls.driver.maximize_window()
10         cls.driver.get("https://www.cnblogs.com/")
11 
12     def test_login(self):
13         try:
14             login_area = self.driver.find_element_by_css_selector('#login_area')
15             register = login_area.find_element_by_link_text('注册111')
16             register.click()
17         except NoSuchElementException:
18             #找不到元素时,截图
19             self.driver.save_screenshot('image/test_login/test_login_area.png')
20             raise
21 
22     @classmethod
23     def tearDownClass(cls):
24         cls.driver.quit()

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

原文地址:https://www.cnblogs.com/simple-free/p/8529019.html