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中使用xlrd、xlwt操作excel表格详解
Jan 29 Python
用实例详解Python中的Django框架中prefetch_related()函数对数据库查询的优化
Apr 01 Python
Python的消息队列包SnakeMQ使用初探
Jun 29 Python
Python中functools模块的常用函数解析
Jun 30 Python
Python CSV文件模块的使用案例分析
Dec 21 Python
python3.8下载及安装步骤详解
Jan 15 Python
如何解决tensorflow恢复模型的特定值时出错
Feb 06 Python
python实现的分层随机抽样案例
Feb 25 Python
python 解决mysql where in 对列表(list,,array)问题
Jun 06 Python
python相对企业语言优势在哪
Jun 12 Python
用python进行视频剪辑
Nov 02 Python
python之PySide2安装使用及QT Designer UI设计案例教程
Jul 26 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后台程序与Javascript的两种交互方式
2009/10/25 PHP
分享php多功能图片处理类
2016/05/15 PHP
禁止IE用右键的JS代码
2013/12/30 Javascript
JavaScript网页定位详解
2014/01/13 Javascript
jQuery移除tr无效的解决方法(tr是动态添加)
2014/09/22 Javascript
对JavaScript客户端应用编程的一些建议
2015/06/24 Javascript
js阻止浏览器默认行为的简单实例
2016/05/15 Javascript
jQuery图片前后对比插件beforeAfter用法示例【附demo源码下载】
2016/09/20 Javascript
nodeJS删除文件方法示例
2016/12/25 NodeJs
微信小程序之数据双向绑定与数据操作
2017/05/12 Javascript
JS库之wow.js使用方法
2017/09/14 Javascript
10行原生JS实现文字无缝滚动(超简单)
2018/01/02 Javascript
nodejs结合socket.io实现websocket通信功能的方法
2018/01/12 NodeJs
浅谈高大上的微信小程序中渲染html内容—技术分享
2018/10/25 Javascript
vue history 模式打包部署在域名的二级目录的配置指南
2019/07/02 Javascript
基于VSCode调试网页JavaScript代码过程详解
2020/07/20 Javascript
详解阿里Node.js技术文档之process模块学习指南
2021/01/04 Javascript
[06:45]DOTA2卡尔工作室 英雄介绍幻影长矛手篇
2013/07/12 DOTA
python获取豆瓣电影简介代码分享
2014/01/16 Python
Python实现进程同步和通信的方法
2018/01/02 Python
如何使用python实现模拟鼠标点击
2020/01/06 Python
python实现猜数游戏(保存游戏记录)
2020/06/22 Python
Python图像处理之膨胀与腐蚀的操作
2021/02/07 Python
Perfume’s Club意大利官网:欧洲美妆电商
2019/05/03 全球购物
护理自荐信范文
2013/10/05 职场文书
国际贸易专业个人求职信范文分享
2013/12/14 职场文书
写给老师的表扬信
2014/01/21 职场文书
2014年应届大学生毕业自我鉴定
2014/01/31 职场文书
文字自荐书范文
2014/02/10 职场文书
安全生产活动月方案
2014/03/09 职场文书
中职三好学生事迹材料
2014/08/24 职场文书
领导欢迎词致辞
2015/01/23 职场文书
2015年城乡环境综合治理工作总结
2015/07/24 职场文书
Mysql文件存储图文详解
2021/06/01 MySQL
Java数组与堆栈相关知识总结
2021/06/29 Java/Android
Python+Selenium实现读取网易邮箱验证码
2022/03/13 Python