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探索之Metaclass初步了解
Oct 28 Python
Python使用PIL模块生成随机验证码
Nov 21 Python
使用 Python 实现微信公众号粉丝迁移流程
Jan 03 Python
tensorflow构建BP神经网络的方法
Mar 12 Python
Python使用pandas对数据进行差分运算的方法
Dec 22 Python
python3实现点餐系统
Jan 24 Python
python3模拟实现xshell远程执行liunx命令的方法
Jul 12 Python
Python3使用xml.dom.minidom和xml.etree模块儿解析xml文件封装函数的方法
Sep 23 Python
将python包发布到PyPI和制作whl文件方式
Dec 25 Python
python操作docx写入内容,并控制文本的字体颜色
Feb 13 Python
使用tensorflow框架在Colab上跑通猫狗识别代码
Apr 26 Python
python 绘制国旗的示例
Sep 27 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
CI分页类首页、尾页不显示的解决方法
2016/03/28 PHP
PHP动态地创建属性和方法, 对象的复制, 对象的比较,加载指定的文件,自动加载类文件,命名空间
2016/05/06 PHP
PHP实现一个简单url路由功能实例
2016/11/05 PHP
禁止刷新,回退的JS
2006/11/25 Javascript
ExtJs GridPanel简单的增删改实现代码
2010/08/26 Javascript
js 实现日期灵活格式化的小例子
2013/07/14 Javascript
Nodejs全栈框架StrongLoop推荐
2014/11/09 NodeJs
JavaScript 开发工具webstrom使用指南
2014/12/09 Javascript
JavaScript实现列出数组中最长的连续数
2014/12/29 Javascript
jQuery实现的登录浮动框效果代码
2015/09/26 Javascript
javascript:void(0)点击登录没反应怎么解决
2015/11/13 Javascript
Javascript的比较汇总
2016/07/25 Javascript
基于jquery实现弹幕效果
2016/09/29 Javascript
详解Angular 开发环境搭建
2017/06/22 Javascript
node.js博客项目开发手记
2018/03/16 Javascript
vue实现父子组件之间的通信以及兄弟组件的通信功能示例
2019/01/29 Javascript
weui中的picker使用js进行动态绑定数据问题
2019/11/06 Javascript
浅谈v-for 和 v-if 并用时筛选条件方法
2019/11/07 Javascript
vue项目中播放rtmp视频文件流的方法
2020/09/17 Javascript
初步解析Python下的多进程编程
2015/04/28 Python
Linux系统上Nginx+Python的web.py与Django框架环境
2015/12/25 Python
python字符类型的一些方法小结
2016/05/16 Python
python下os模块强大的重命名方法renames详解
2017/03/07 Python
python+matplotlib绘制3D条形图实例代码
2018/01/17 Python
PyCharm安装第三方库如Requests的图文教程
2018/05/18 Python
python解析yaml文件过程详解
2019/08/30 Python
HTML5 和小程序实现拍照图片旋转、压缩和上传功能
2018/10/08 HTML / CSS
JavaScript+Canvas实现自定义画板的示例代码
2019/05/13 HTML / CSS
Puccini乌克兰:购买行李箱、女士手袋网上商店
2020/08/06 全球购物
构造方法和其他方法的区别?怎么调用父类的构造方法
2013/09/22 面试题
DELPHI中如何调用API,可举例说明
2014/01/16 面试题
国际贸易专业自荐信
2014/06/10 职场文书
营销与策划专业求职信
2014/06/20 职场文书
品牌转让协议书
2014/08/20 职场文书
幼儿教师三分钟演讲稿
2019/06/21 职场文书
2019银行员工个人工作自我鉴定
2019/06/27 职场文书