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三级目录展示的实现方法
Sep 28 Python
python 中的divmod数字处理函数浅析
Oct 17 Python
python命令行解析之parse_known_args()函数和parse_args()使用区别介绍
Jan 24 Python
Django JWT Token RestfulAPI用户认证详解
Jan 23 Python
Python3.5面向对象编程图文与实例详解
Apr 24 Python
Pyqt QImage 与 np array 转换方法
Jun 27 Python
python实现数据分析与建模
Jul 11 Python
python Elasticsearch索引建立和数据的上传详解
Aug 04 Python
如何解决tensorflow恢复模型的特定值时出错
Feb 06 Python
python访问hdfs的操作
Jun 06 Python
Python decimal模块使用方法详解
Jun 08 Python
python opencv pytesseract 验证码识别的实现
Aug 28 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 内存缓存加速功能memcached安装与用法
2009/09/03 PHP
php中mt_rand()随机数函数用法
2014/11/24 PHP
在Laravel5.6中使用Swoole的协程数据库查询
2018/06/15 PHP
自适应图片大小的弹出窗口
2006/07/27 Javascript
基于jQuery的为attr添加id title等效果的实现代码
2011/04/20 Javascript
js的表单操作 简单计算器
2011/12/29 Javascript
JQuery获取浏览器窗口内容部分高度的代码
2012/02/24 Javascript
Js 时间函数getYear()的使用问题探讨
2013/04/01 Javascript
js仿百度贴吧验证码特效实例代码
2014/01/16 Javascript
javascript委托(Delegate)blur和focus用法实例分析
2015/05/26 Javascript
jQuery对checkbox 复选框的全选全不选反选的操作
2016/08/09 Javascript
移动端刮刮乐的实现方式(js+HTML5)
2017/03/23 Javascript
详解webpack分离css单独打包
2017/06/21 Javascript
JQuery 选择器、DOM节点操作练习实例
2017/09/28 jQuery
基于Datatables跳转到指定页的简单实例
2017/11/09 Javascript
解决bootstrap模态框数据缓存的问题方法
2018/08/10 Javascript
Vue框架下引入ActiveX控件的问题解决
2019/03/25 Javascript
详解小程序用户登录状态检查与更新实例
2019/05/15 Javascript
js实现图片上传即时显示效果
2019/09/30 Javascript
vue+Element-ui实现登录注册表单
2020/11/17 Javascript
[02:49]2014DOTA2电竞也是体育项目! 势要把荣誉带回中国!
2014/07/20 DOTA
Python中type的构造函数参数含义说明
2015/06/21 Python
python用Pygal如何生成漂亮的SVG图像详解
2017/02/10 Python
Python如何应用cx_Oracle获取oracle中的clob字段问题
2019/08/27 Python
在python中计算ssim的方法(与Matlab结果一致)
2019/12/19 Python
Pytorch保存模型用于测试和用于继续训练的区别详解
2020/01/10 Python
python实现门限回归方式
2020/02/29 Python
使用Numpy对特征中的异常值进行替换及条件替换方式
2020/06/08 Python
Python学习工具jupyter notebook安装及用法解析
2020/10/23 Python
.NET面试题:什么是值类型和引用类型
2016/01/12 面试题
中软国际Java程序员机试题
2012/08/19 面试题
党员批评与自我批评
2014/02/12 职场文书
副护士长竞聘演讲稿
2014/04/30 职场文书
作风建设年活动实施方案
2014/10/24 职场文书
祝福语集锦:朋友新店开业祝福语
2019/12/10 职场文书
Python实现科学占卜 让视频自动打码
2022/04/09 Python