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根据文件大小打log日志
Oct 09 Python
Python中的getopt函数使用详解
Jul 28 Python
使用Python来编写HTTP服务器的超级指南
Feb 18 Python
详解Python编程中对Monkey Patch猴子补丁开发方式的运用
May 27 Python
Python爬虫实例扒取2345天气预报
Mar 04 Python
利用Python批量提取Win10锁屏壁纸实战教程
Mar 27 Python
Python 生成 -1~1 之间的随机数矩阵方法
Aug 04 Python
Python并发之多进程的方法实例代码
Aug 15 Python
Python 运行.py文件和交互式运行代码的区别详解
Jul 02 Python
Python3基本输入与输出操作实例分析
Feb 14 Python
keras 如何保存最佳的训练模型
May 25 Python
django 将自带的数据库sqlite3改成mysql实例
Jul 09 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代码优化及php相关问题总结
2006/10/09 PHP
用Flash图形化数据(一)
2006/10/09 PHP
PHP 查找字符串常用函数介绍
2012/06/07 PHP
PHP使用file_get_content设置头信息的方法
2016/02/14 PHP
php 截取GBK文档某个位置开始的n个字符方法
2017/03/08 PHP
PHP addAttribute()函数讲解
2019/02/03 PHP
List Information About the Binary Files Used by an Application
2007/06/11 Javascript
jquery nth-child()选择器的简单应用
2010/07/10 Javascript
js对象数组按属性快速排序
2011/01/31 Javascript
在子窗口中关闭父窗口的一句代码
2013/10/21 Javascript
如何防止回车(enter)键提交表单
2014/05/11 Javascript
jquery 选取方法都有哪些
2014/05/18 Javascript
window.location的重写及判断location是否被重写
2014/09/04 Javascript
Jquery+ajax+JAVA(servlet)实现下拉菜单异步取值
2016/03/23 Javascript
JS实现table表格数据排序功能(可支持动态数据+分页效果)
2016/05/26 Javascript
前端微信支付js代码
2016/07/25 Javascript
百度多文件异步上传控件webuploader基本用法解析
2016/11/07 Javascript
jQuery时间日期三级联动(推荐)
2016/11/27 Javascript
关于JS Lodop打印插件打印Bootstrap样式错乱问题的解决方案
2016/12/23 Javascript
微信小程序 视图容器组件的详解及实例代码
2017/01/19 Javascript
javascript设计模式之模块模式学习笔记
2017/02/15 Javascript
史上最全JavaScript常用的简写技巧(推荐)
2017/08/17 Javascript
JavaScript键盘事件常见用法实例分析
2019/01/03 Javascript
angular6开发steps步骤条组件
2019/07/04 Javascript
浅析Python中的join()方法的使用
2015/05/19 Python
Python实现控制台进度条功能
2016/01/04 Python
python画一个玫瑰和一个爱心
2020/08/18 Python
python lambda表达式(匿名函数)写法解析
2019/09/16 Python
jupyter 使用Pillow包显示图像时inline显示方式
2020/04/24 Python
荷兰网上鞋店:Ziengs.nl
2017/01/02 全球购物
Clarisonic美国官网:科莱丽声波洁面仪
2017/10/12 全球购物
C++的几个面试题附答案
2016/08/03 面试题
项目负责人任命书
2014/06/04 职场文书
中学生逃课检讨书
2015/02/17 职场文书
政协工作总结2015
2015/05/20 职场文书
springboot+rabbitmq实现智能家居实例详解
2022/07/23 Java/Android