Python爬虫之Selenium实现窗口截图


Posted in Python onDecember 04, 2020

前言:由程序去执行的操作不允许有任何误差,有些时候在测试的时候未出现问题,但是放到服务器上就会报错,而且打印的错误信息并不十分明确。这时,我在想如果在脚本执行出错的时候能对当前窗口截图保存,那么通过图片就可以非常直观地看出出错的原因。WebDriver提供了截图函数get_screenshot_as_file()来截取当前窗口。

本章中用到的关键方法如下:

get_screenshot_as_file():截图

from selenium import webdriver

driver = webdriver.Chrome()
driver.get('https://www.baidu.com/')

# 截图,图片后缀最好为.png,如果是其他的执行的时候会有警告,但不会报错
driver.get_screenshot_as_file("D:\\baidu_index.png")

driver.quit()

实例:

#窗口截图操作
#coding utf-8

from selenium import webdriver
from time import sleep

driver = webdriver.Firefox()

url = "http://www.baidu.com"

driver.get(url)

driver.find_element_by_id('kw').send_keys('selenium python')
driver.find_element_by_id('su').click()

sleep(2)

driver.get_screenshot_as_file("D:\\baidu_error.jpg")

driver.quit()

运行结果:

有个warning,什么意思呢,就是说截图最好是使用 .png格式的图片,而我的代码中使用的是.jpg格式,但是,不影响最终结果

 file type. It should end with a `.png` extension
  "type. It should end with a `.png` extension", UserWarning)

网页截图: - 不出意外,渣度第一时间给你推送广告!!呵呵呵!-

Python爬虫之Selenium实现窗口截图

Selenium文集传送门:

标题 简介
Python爬虫 - Selenium(1)安装和简单使用 详细介绍Selenium的依赖环境在Windows和Centos7上的安装及简单使用
Python爬虫 - Selenium(2)元素定位和WebDriver常用方法 详细介绍定位元素的8种方式并配合点击和输入、提交、获取断言信息等方法的使用
Python爬虫 - Selenium(3)控制浏览器的常用方法 详细介绍自定义浏览器窗口大小或全屏、控制浏览器后退、前进、刷新浏览器等方法的使用
Python爬虫 - Selenium(4)配置启动项参数 详细介绍Selenium启动项参数的配置,其中包括无界面模式、浏览器窗口大小设置、浏览器User-Agent (请求头)等等
Python爬虫 - Selenium(5)鼠标事件 详细介绍鼠标右击、双击、拖动、鼠标悬停等方法的使用
Python爬虫 - Selenium(6)键盘事件 详细介绍键盘的操作,几乎包含所有常用按键以及组合键
Python爬虫 - Selenium(7)多窗口切换 详细介绍Selenium是如何实现在不同的窗口之间自由切换
Python爬虫 - Selenium(8)frame/iframe表单嵌套页面 详细介绍如何从当前定位的主体切换为frame/iframe表单的内嵌页面中
Python爬虫 - Selenium(9)警告框(弹窗)处理 详细介绍如何定位并处理多类警告弹窗
Python爬虫 - Selenium(10)下拉框处理 详细介绍如何灵活的定位并处理下拉框
Python爬虫 - Selenium(11)文件上传 详细介绍如何优雅的通过send_keys()指定文件进行上传
Python爬虫 - Selenium(12)获取登录Cookies,并添加Cookies自动登录 详细介绍如何获取Cookies和使用Cookies进行自动登录
Python爬虫 - Selenium(13)设置元素等待 详细介绍如何优雅的设置元素等待时间,防止程序运行过快而导致元素定位失败
Python爬虫 - Selenium(14)窗口截图 详细介绍如何使用窗口截图
Python爬虫 - Selenium(15)关闭浏览器 详细介绍两种关闭窗口的区别

到此这篇关于Python爬虫之Selenium实现窗口截图的文章就介绍到这了,更多相关Selenium 窗口截图内容请搜索三水点靠木以前的文章或继续浏览下面的相关文章希望大家以后多多支持三水点靠木!

Python 相关文章推荐
Python中利用函数装饰器实现备忘功能
Mar 30 Python
简单介绍Python中的decode()方法的使用
May 18 Python
20招让你的Python飞起来!
Sep 27 Python
Python Nose框架编写测试用例方法
Oct 26 Python
Django1.9 加载通过ImageField上传的图片方法
May 25 Python
Python面向对象基础入门之设置对象属性
Dec 11 Python
Python中asyncio模块的深入讲解
Jun 10 Python
pandas计数 value_counts()的使用
Jun 24 Python
解决IDEA 的 plugins 搜不到任何的插件问题
May 04 Python
flask框架中的cookie和session使用
Jan 31 Python
Python 快速验证代理IP是否有效的方法实现
Jul 15 Python
如何基于python实现单目三维重建详解
Jun 25 Python
python 爬取英雄联盟皮肤并下载的示例
Dec 04 #Python
Python爬虫之Selenium设置元素等待的方法
Dec 04 #Python
Selenium获取登录Cookies并添加Cookies自动登录的方法
Dec 04 #Python
Python爬虫中Selenium实现文件上传
Dec 04 #Python
利用python进行文件操作
Dec 04 #Python
Python爬虫之Selenium下拉框处理的实现
Dec 04 #Python
Python爬虫之Selenium警告框(弹窗)处理
Dec 04 #Python
You might like
PHP开发大型项目的一点经验
2006/10/09 PHP
php面向对象全攻略 (八)重载新的方法
2009/09/30 PHP
深入理解ob_flush和flush的区别(ob_flush()与flush()使用方法)
2013/02/06 PHP
php把文件设置为插件的技巧方法
2020/02/03 PHP
用于自动添加Digg This!按钮的JavaScript
2006/12/23 Javascript
前端开发部分总结[兼容性、DOM操作、跨域等](持续更新)
2010/03/04 Javascript
在Ajax中使用Flash实现跨域数据读取的实现方法
2010/12/02 Javascript
基于Jquery实现表格动态分页实现代码
2011/06/21 Javascript
自定义一个jquery插件[鼠标悬浮时候 出现说明label]
2011/06/27 Javascript
jquery的live使用注意事项
2014/02/18 Javascript
JavaScript自定义等待wait函数实例分析
2015/03/23 Javascript
浅谈JavaScript中指针和地址
2015/07/26 Javascript
js实现div模拟模态对话框展现URL内容
2016/05/27 Javascript
提高Web性能的前端优化技巧总结
2017/02/27 Javascript
javaScript封装的各种写法
2017/08/14 Javascript
解析Vue2 dist 目录下各个文件的区别
2017/11/22 Javascript
一种angular的方法级的缓存注解(装饰器)
2018/03/13 Javascript
Js经典案例的实例代码
2018/05/10 Javascript
JS实现table表格内针对某列内容进行即时搜索筛选功能
2018/05/11 Javascript
jQuery 选择器用法基础入门示例
2020/01/04 jQuery
Python编程之gui程序实现简单文件浏览器代码
2017/12/08 Python
Python堆排序原理与实现方法详解
2018/05/11 Python
简单了解python数组的基本操作
2019/11/26 Python
使用Pycharm在运行过程中,查看每个变量的操作(show variables)
2020/06/08 Python
python与js主要区别点总结
2020/09/13 Python
管理学专业个人求职信范文
2013/09/21 职场文书
思想政治教育专业个人求职信范文
2013/12/20 职场文书
考试没考好检讨书
2014/01/31 职场文书
如何写好自荐信
2014/04/07 职场文书
小学生评语集锦
2014/04/18 职场文书
优秀教师感人事迹材料
2014/05/04 职场文书
乌镇导游词
2015/02/02 职场文书
高中班主任工作总结(范文)
2019/08/20 职场文书
react国际化react-intl的使用
2021/05/06 Javascript
javascript的setTimeout()使用方法总结
2021/11/20 Javascript
VUE递归树形实现多级列表
2022/07/15 Vue.js