(一) 方法

方法

简单说明

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笔记(十六)屏幕截图的更多相关文章

  1. python 学习笔记十六 django深入学习一 路由系统,模板,admin,数据库操作

    django 请求流程图 django 路由系统 在django中我们可以通过定义urls,让不同的url路由到不同的处理函数 from . import views urlpatterns = [ ...

  2. Python+Selenium笔记(六):元素定位

      (一)  前言 Web应用以及包含超文本标记语言(HTML).层叠样式表(CSS).JS脚本的WEB页面,基于用户的操作(例如点击提交按钮),浏览器向WEB服务器发送请求,WEB服务器响应请求,返 ...

  3. python学习笔记(十六)-Python多线程多进程

    一.线程&进程 对于操作系统来说,一个任务就是一个进程(Process),比如打开一个浏览器就是启动一个浏览器进程,打开一个记事本就启动了一个记事本进程,打开两个记事本就启动了两个记事本进程, ...

  4. python学习笔记十六:读取JSON文件

    读取JSON文件可以用JSON库,示例代码: #coding:utf-8 import json with open("msg.json") as jsonfile: json_d ...

  5. python3.4学习笔记(十六) windows下面安装easy_install和pip教程

    python3.4学习笔记(十六) windows下面安装easy_install和pip教程 easy_install和pip都是用来下载安装Python一个公共资源库PyPI的相关资源包的 首先安 ...

  6. python学习笔记(六)文件夹遍历,异常处理

    python学习笔记(六) 文件夹遍历 1.递归遍历 import os allfile = [] def dirList(path): filelist = os.listdir(path) for ...

  7. Python学习笔记(六)

    Python学习笔记(六) Ubuntu重置root密码 Ubuntu 16.4 目录结构 Ubuntu 命令讲解 1. Ubuntu重置root密码 启动系统,显示GRUB选择菜单(如果默认系统启动 ...

  8. 进击的Python【第十六章】:Web前端基础之jQuery

    进击的Python[第十六章]:Web前端基础之jQuery 一.什么是 jQuery ? jQuery是一个JavaScript函数库. jQuery是一个轻量级的"写的少,做的多&quo ...

  9. Python+Selenium笔记(十四)鼠标与键盘事件

     (一) 前言 Webdriver高级应用的API,允许我们模拟简单到复杂的键盘和鼠标事件,如拖拽操作.快捷键组合.长按以及鼠标右键操作,都是通过使用webdriver的Python API 中的Ac ...

  10. Python+Selenium笔记(九):操作警告和弹出框

    #之前发的 driver.switch_to_alert() 这句虽然可以运行通过,但是会弹出警告信息(这种写法3.x不建议使用)  改成 driver.switch_to.alert就不会了. (一 ...

随机推荐

  1. 把 Elasticsearch 当数据库使:聚合后排序

    使用 https://github.com/taowen/es-monitor 可以用 SQL 进行 elasticsearch 的查询.有的时候分桶聚合之后会产生很多的桶,我们只对其中部分的桶关心. ...

  2. Mybatis 事务管理和缓存机制

    一级缓存--SqlSession级别 数据库表tb_user User package com.example.demo.domain; public class User { private Int ...

  3. JavaScript -- Window-Move,Print

    -----035-Window-Move.html----- <!DOCTYPE html> <html> <head> <meta http-equiv=& ...

  4. Sublime Text3 一些实用设置

    字体大小 "font_size": 14 高亮编辑中的那一行 "highlight_line": true 当你把脑袋扭过到显示器以外的地方后再回头看编辑器,光 ...

  5. Spring mvc 4系列教程(一)

    一.Spring框架概览 Spring框架是一种轻量级.一站式解决企业级应用的解决方案.不仅如此,Spring的模块化的特点,可以使你只引用所需要的部分,而无需引用全部.你可以使用控制反转容器(IoC ...

  6. Undo日志文件的产生和使用

    Undo 日志 比如A有200块钱, B有50 块钱,现在A要给B转100块” . (1)  开始事务 T1 (假设T1是个事务的内部编号) (2)  A余额 = A余额 -100 (3)  B余额 ...

  7. ActiveMQ——activemq的报错见解javax.jms.JMSException: Software caused connection abort: recv failed

    activeMQ出现javax.jms.JMSException: Software caused connection abort: recv failed的问题解决 一直找不到原因,原来是在本地的 ...

  8. SpringBoot入门 (九) MQ使用

    本文记录学习在Spring Boot中使用MQ. 一 什么是MQ MQ全称(Message Queue)又名消息队列,是一种异步通讯的中间件.它的作用类似于邮局,发信人(生产者)只需要将信(消息)交给 ...

  9. 软件架构设计学习总结(18):MVC三层架构在各框架(jsp+servlet + Struts1+ Struts2+ springMVC)中的特征

    1.基于web开发中最原始的jsp+Servlet   图形化理解jsp+servlet结构: 1.从结构上分析jsp+servlet图解原理: 在基于mvc设计模式下的最原始的jsp+Servlet ...

  10. 【一个小功能】点击图标/链接发起QQ临时会话

    有时候,我们需要实现在网页上点击一个QQ图标来实现QQ临时会话,这样不用添加好友,也能满足及时沟通的需求. 实现方案比较简单,只是为a标签修改href属性,代码如下 <a href=" ...