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中else语句块的使用技巧
Jun 16 Python
解决pycharm的Python console不能调试当前程序的问题
Jan 20 Python
Pandas删除数据的几种情况(小结)
Jun 21 Python
Python列表对象实现原理详解
Jul 01 Python
PYTHON如何读取和写入EXCEL里面的数据
Oct 28 Python
python创建学生成绩管理系统
Nov 22 Python
Python彻底删除文件夹及其子文件方式
Dec 23 Python
python 爬取免费简历模板网站的示例
Sep 27 Python
Flask-SocketIO服务端安装及使用代码示例
Nov 26 Python
python可视化分析的实现(matplotlib、seaborn、ggplot2)
Feb 03 Python
分享提高 Python 代码的可读性的技巧
Mar 03 Python
Python可视化神器pyecharts绘制地理图表
Jul 07 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的ob_start() 控制您的浏览器cache
2009/08/03 PHP
zf框架的db类select查询器join链表使用示例(zend框架)
2014/03/14 PHP
js变量作用域及可访问性的探讨
2006/11/23 Javascript
图片连续滚动代码[兼容IE/firefox]
2009/06/11 Javascript
js 实现无缝滚动 兼容IE和FF
2009/07/15 Javascript
修改jQuery.Autocomplete插件 支持中文输入法 避免TAB、ENTER键失效、导致表单提交
2009/10/11 Javascript
基于jquery的3d效果实现代码
2011/03/23 Javascript
jquery.validate的使用说明介绍
2013/11/12 Javascript
js控制鼠标事件移动及移出效果显示
2014/10/19 Javascript
jQuery中:submit选择器用法实例
2015/01/03 Javascript
jQuery插件zepto.js简单实现tab切换
2015/06/16 Javascript
基于jQuery实现的无刷新表格分页实例
2016/02/17 Javascript
jQuery实现鼠标选文字发新浪微博的方法
2016/04/02 Javascript
JS使用正则表达式实现关键字替换加粗功能示例
2016/08/03 Javascript
HTML5canvas 绘制一个圆环形的进度表示实例
2016/12/16 Javascript
react实现一个优雅的图片占位模块组件详解
2017/10/30 Javascript
vue按需加载组件webpack require.ensure的方法
2017/12/13 Javascript
浅谈高大上的微信小程序中渲染html内容—技术分享
2018/10/25 Javascript
vue使用vuex实现首页导航切换不同路由的方法
2019/05/08 Javascript
React+Redux实现简单的待办事项列表ToDoList
2019/09/29 Javascript
Node.js 实现抢票小工具 & 短信通知提醒功能
2019/10/22 Javascript
vue页面引入three.js实现3d动画场景操作
2020/08/10 Javascript
Echarts在Taro微信小程序开发中的踩坑记录
2020/11/09 Javascript
[02:49]DAC2018决赛日TOP5 LGD开启黑暗之门绝杀VP
2018/04/08 DOTA
Python使用win32com实现的模拟浏览器功能示例
2017/07/13 Python
python多进程实现进程间通信实例
2017/11/24 Python
python标准库OS模块详解
2020/03/10 Python
Python实现aes加密解密多种方法解析
2020/05/15 Python
HTML5之SVG 2D入门12—SVG DOM及DOM操作介绍
2013/01/30 HTML / CSS
HTML5 Notification(桌面提醒)功能使用实例
2014/03/17 HTML / CSS
计算机通信工程专业毕业生推荐信
2013/12/24 职场文书
爱岗敬业演讲稿
2014/05/05 职场文书
银行授权委托书样本
2014/10/13 职场文书
2016婚礼主持词开场白
2015/11/24 职场文书
CentOS MySql8 远程连接实战
2022/04/19 MySQL
浅谈音视频 pts dts基本概念及理解
2022/08/05 数码科技