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统计cpu利用率的方法
Jun 02 Python
Python读取键盘输入的2种方法
Jun 16 Python
Python使用pylab库实现绘制直方图功能示例
Jun 01 Python
浅谈python中对于json写入txt文件的编码问题
Jun 07 Python
深入浅析Python传值与传址
Jul 10 Python
浅谈Python批处理文件夹中的txt文件
Mar 11 Python
Python面向对象之继承和多态用法分析
Jun 08 Python
python实现雪花飘落效果实例讲解
Jun 18 Python
使用Python做垃圾分类的原理及实例代码附源码
Jul 02 Python
Ubuntu中配置TensorFlow使用环境的方法
Apr 21 Python
python smtplib发送多个email联系人的实现
Oct 09 Python
如何用Python 实现全连接神经网络(Multi-layer Perceptron)
Oct 15 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
教你如何快捷的使用cmd访问mysql小技巧
2014/05/26 PHP
PHP实现的购物车类实例
2015/06/17 PHP
利用PHP脚本在Linux下用md5函数加密字符串的方法
2015/06/29 PHP
php获取文件名称和扩展名的方法
2017/02/07 PHP
javaScript parseInt字符转化为数字函数使用小结
2009/11/05 Javascript
JS Date函数整理方便使用
2013/10/23 Javascript
实现checkbox全选、反选、取消JavaScript小脚本异常
2014/04/10 Javascript
javascript中局部变量和全局变量的区别详解
2015/02/27 Javascript
深入理解JavaScript系列(44):设计模式之桥接模式详解
2015/03/04 Javascript
JavaScript里四舍五入函数round用法实例
2015/04/06 Javascript
javascript实现根据时间段显示问候语的方法
2015/06/18 Javascript
jQuery使用Selectator插件实现多选下拉列表过滤框(附源码下载)
2016/04/08 Javascript
js学习笔记之事件处理模型
2016/10/31 Javascript
jQuery实现单击按钮遮罩弹出对话框效果(1)
2017/02/20 Javascript
JS使用正则表达式找出最长连续子串长度
2017/10/26 Javascript
详解React-Router中Url参数改变页面不刷新的解决办法
2018/05/08 Javascript
bootstrap treeview 树形菜单带复选框及级联选择功能
2018/06/08 Javascript
JavaScript:ES2019 的新特性(译)
2019/08/08 Javascript
如何在Express4.x中愉快地使用async的方法
2020/11/18 Javascript
[01:23:45]DOTA2-DPC中国联赛 正赛 CDEC vs Dragon BO3 第一场 1月22日
2021/03/11 DOTA
详谈Python高阶函数与函数装饰器(推荐)
2017/09/30 Python
Django中的CBV和FBV示例介绍
2018/02/25 Python
Under Armour美国官网:美国知名高端功能性运动品牌
2016/09/05 全球购物
Etam德国:内衣精品店
2019/08/25 全球购物
计算s=f(f(-1.4))的值
2014/05/06 面试题
性能测试工程师的面试题
2015/02/20 面试题
给护士表扬信
2014/01/19 职场文书
爱耳日活动总结
2014/04/30 职场文书
工作收入证明模板
2014/10/10 职场文书
民主生活会汇报材料
2014/12/15 职场文书
2015国庆节宣传语
2015/07/14 职场文书
导游词之江苏同里古镇
2019/11/18 职场文书
python - asyncio异步编程
2021/04/06 Python
解析redis hash应用场景和常用命令
2021/08/04 Redis
关于MySQL临时表为什么可以重名的问题
2022/03/22 MySQL
Python实现猜拳与猜数字游戏的方法详解
2022/04/06 Python