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 相关文章推荐
Django中实现一个高性能计数器(Counter)实例
Jul 09 Python
python中文编码问题小结
Sep 28 Python
深入理解Python3中的http.client模块
Mar 29 Python
pycharm远程调试openstack的图文教程
Nov 21 Python
解决pyecharts在jupyter notebook中使用报错问题
Apr 23 Python
Python中那些 Pythonic的写法详解
Jul 02 Python
使用python将多个excel文件合并到同一个文件的方法
Jul 09 Python
python selenium操作cookie的实现
Mar 18 Python
20行Python代码实现视频字符化功能
Apr 13 Python
容易被忽略的Python内置类型
Sep 03 Python
使用python把xmind转换成excel测试用例的实现代码
Oct 12 Python
使用Django的JsonResponse返回数据的实现
Jan 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
如何从一个php文件向另一个地址post数据,不用表单和隐藏的变量的
2007/03/06 PHP
Windows 下的 PHP-PEAR 安装方法
2010/11/20 PHP
php图片的二进制转换实现方法
2014/12/15 PHP
csdn 博客中实现运行代码功能实现
2009/08/29 Javascript
JSON无限折叠菜单编写实例
2013/12/16 Javascript
从js向Action传中文参数出现乱码问题的解决方法
2013/12/29 Javascript
Jquery实现侧边栏跟随滚动条固定(兼容IE6)
2014/04/02 Javascript
浅谈jQuery异步对象(XMLHttpRequest)
2014/11/17 Javascript
在Google 地图上实现做的标记相连接
2015/01/05 Javascript
JavaScript父子窗体间的调用方法
2015/03/31 Javascript
jQuery实现折叠、展开的菜单组效果代码
2015/09/16 Javascript
跟我学习javascript的prototype原型和原型链
2015/11/18 Javascript
JSONObject使用方法详解
2015/12/17 Javascript
javascript+HTML5 Canvas绘制转盘抽奖
2020/05/16 Javascript
jQuery插件JWPlayer视频播放器用法实例分析
2017/01/11 Javascript
详解vue中点击空白处隐藏div的实现(用指令实现)
2018/04/19 Javascript
通过Nodejs搭建网站简单实现注册登录流程
2019/06/14 NodeJs
基于JS正则表达式实现模板数据动态渲染(实现思路详解)
2020/03/07 Javascript
Python中for循环控制语句用法实例
2015/06/02 Python
Python使用cookielib模块操作cookie的实例教程
2016/07/12 Python
Python基于多线程实现抓取数据存入数据库的方法
2018/06/22 Python
Python3.6简单的操作Mysql数据库的三个实例
2018/10/17 Python
Python JSON格式数据的提取和保存的实现
2019/03/22 Python
Python一行代码解决矩阵旋转的问题
2019/11/30 Python
Django框架获取form表单数据方式总结
2020/04/22 Python
解决python 执行sql语句时所传参数含有单引号的问题
2020/06/06 Python
Python远程方法调用实现过程解析
2020/07/28 Python
使用CSS3来代替JS实现交互
2017/08/10 HTML / CSS
英国最大的婴儿监视器网上商店:Baby Monitors Direct
2018/04/24 全球购物
财务部出纳岗位职责
2013/12/22 职场文书
项目副经理岗位职责
2013/12/30 职场文书
一月红领巾广播稿
2014/02/11 职场文书
淘宝文案策划岗位职责
2015/04/14 职场文书
廉政党课工作报告案例
2019/06/21 职场文书
Golang 1.18 多模块Multi-Module工作区模式的新特性
2022/04/11 Golang
使用vue判断当前环境是安卓还是IOS
2022/04/12 Vue.js