selenium 截长图
def base64_to_image(base64_str):base64_data = re.sub('^data:image/.+;base64,', '', base64_str)byte_data = base64.b64decode(base64_data)# image_data = BytesIO(byte_data)# img = Image.open(image_data)return byte_datadef get_jt(driver):try:img = None# 取出页面的宽度和高度page_width = driver.execute_script("return document.body.scrollWidth")page_height = driver.execute_script("return document.body.scrollHeight")# 直接开启设备模拟,不要再手动开devtools了,否则截图截的是devtools的界面!driver.execute_cdp_cmd('Emulation.setDeviceMetricsOverride',{'mobile': False, 'width': page_width, 'height': page_height, 'deviceScaleFactor': 1})# 执行截图res = driver.execute_cdp_cmd('Page.captureScreenshot', {'fromSurface': True})# 等待截图完成if bool(res) and isinstance(res, dict) and "data" in res:img = base64_to_image(res["data"])# 关闭设备模拟driver.execute_cdp_cmd('Emulation.clearDeviceMetricsOverride', {})return imgexcept Exception as e:s = sys.exc_info()logger.error("{}[line:{}]: {}:{}".format(FILE_NAMES, _getframe().f_lineno, "", '错误行数:' + str(s[2].tb_lineno)))logger.error("{}[line:{}]: {}:{}".format(FILE_NAMES, _getframe().f_lineno, "", '错误明细是' + str(e.__class__.__name__) + str(e)))return Nonedef save_screenshot(driver, file_name):img = get_jt(driver)if img is None:driver.save_screenshot(file_name)else:with open(file_name, "wb") as f:f.write(img)
selenium 截长图相关推荐
- java使用Chrome+Selenium+Screenshot 实现浏览器截长图
场景:需要长截图整个网站; 效果: 我进行了缩小和模糊处理,涉及到公司业务.模糊的可以看到是忽略了浏览器的头部,保留了完整的整个网页 解决思路: 模拟用户打开浏览器,然后截图,这边涉及到几个问题 浏览 ...
- python selenium截图_利用 Python + Selenium 实现对页面的指定元素截图(可截长图元素)...
对WebElement截图 WebDriver.Chrome自带的方法只能对当前窗口截屏,且不能指定特定元素.若是需要截取特定元素或是窗口超过了一屏,就只能另辟蹊径了. WebDriver.Phant ...
- 【基础知识】截长图的方法以及防止截图时下拉框自动收回的方法
截长图的方法: 博主之前使用的tim,不具备截长图的功能,之后百度了很多的方法,最后发现QQ的截长图功能最好用,很不解,tim不应该是偏向于办公吗,这种功能竟然还能阉割? 使用工具:QQ最新版 使用方 ...
- UIScrollView截长图
iOS UIScrollView截长图优化 保留页面上的阴影等细节显示. extension UIScrollView {/**scrollview截长图可以保留阴影图片拼接*/func snapSh ...
- android 截长图 方法,Android实现截屏与截长图功能
本文实例为大家分享了Android实现截屏与截长图功能展示的具体代码,供大家参考,具体内容如下 Demo在GitHub的地址:ScreenShoot 在Android开发中,有时候会遇到需要截屏分享到 ...
- 华为手机截屏怎么截长图_华为手机竟然有6种截屏方法,你用过几种?3种以上的手机没白买...
很多时候我们都喜欢通过手机截图来对一些信息进行保存分享,那么常用华为手机,关于华为手机截图方法你知道几种呢? 悄悄告诉你,其实华为手机截图方法多达6中,各种花样截图方法都有,就是可惜了很多小伙伴都不知 ...
- 华为手机截屏怎么截长图_华为手机5种常用截屏方式,教你轻松定格屏幕精彩瞬间...
手机上的精彩内容这么多,想要截图发好友,你知道怎么截才最顺手嘛? 华为手机提供了多种实用又快捷的截屏方法,总有一种适合你,快来看看吧~ 隔空截屏 抓取截屏,酷炫手势 在屏幕正前方20~40厘米,伸开手 ...
- win10系统picpick截图工具自动滚动截长图方法
描述:win10系统picpick截图工具自动滚动截长图方法 步骤: 使用截图工具,使用顶部菜单栏,选择截取滚动窗口功能 此时会自动识别滚动窗口,单机滚动条,即可自动滚动,如果只滑动一次就结束了,请将 ...
- 截屏、录屏、截长图快捷键汇总
文章目录 windows自带 qq自带 截长图 snipaste 小知识: 相关链接 工作生活中,我们经常要用到截图功能.如果不想安装截图工具,你可以用以下方式: windows自带 最快速,但是 ...
- Android实现截屏和截长图功能的几种方法
一般情况下各种型号的手机都会有自带的截屏功能,也会有诸如"开关机键+音量键"的截屏快捷键,只要手机是亮屏状态,都会将手机屏幕的可视区域(包含状态栏)全部截取下来. 如果开发中想要调 ...
最新文章
- Android开发中如何使用RecyclerView
- 【力荐】Exadata火线救援:10TB级数据修复经典案例详解!
- mysql 为游标赋值_mysql 存储过程之游标
- 倒数日怎么设置起始日_起始价131亿!杭州江河汇流区85万方综合体招标延期
- 超干货 | 在线教育增长实操者案例分享:如何玩转教育增长模型?
- if的作用域问题 *输出1~6的随机数*
- oracle成本模块培训,Oracle App 培训笔记(5) -- 成本管理模块表结构整理 续
- 支付宝集成——如何在回调地址中使用自定义参数
- 怎么用java做todolist_[Java教程]JavaScript jQuery 任务清单 ToDoList
- 【Xamarin开发 Android 系列 1】环境部署搭建
- 微信小程序获取外部图标iconfont
- 2022年熔化焊接与热切割考试模拟100题及在线模拟考试
- 个人邮箱怎么在微信里登陆?
- 视频切割:python将视频文件按秒存储成图片
- HTML标签之常见格式标签(1)
- 软件测试分类-按照开发阶段划分
- spring boot +mybatis plus +html 最佳实践项目
- java判断数据库是否存在_java判断数据库是否存在的方法
- windows C++多线程(三):线程终止结束ExitThread与TerminateThread
- 【C语言】goto语句以及strcmp和system的学习
热门文章
- cuteftp pro 3.2多线程下载导致文件MD5校验值改变
- 飞翔pdf生成html,pdf转换成html转换器
- H5上传从微信保存的图片提示格式不对
- codeblock调试
- 一文搞懂Handler机制原理
- 极域电子书包课堂管理系统怎么控屏_极域电子教室控制软件操作手册
- 分布式系统架构的优缺点
- mega软件 linux,Linux系统下使用MegaCli软件对磁盘阵列进行操作
- matlab模拟高斯光束波前相位分布,拉盖尔-高斯光束空间传播波前畸变的RMS评估...
- 安卓开发硬件开发之-大华条码秤开发1