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 sim iso,android – 意外的telephonyManager.getSimCountryIso()行为
- flink 1.9.0 编译:flink-shaded-hadoop-2 找不到
- python实用技巧(二)
- vscode插件开发流程
- java公路中轴_技术帖 自行车中轴的种类 入门车友请细读
- iOS6和iPhone5使用第三方静态库在真机无法运行的处理
- java guardedby_JAVA多线程(五)模式-Guarded Suspension
- 拼多多推广效果不好,哪里需要改善?
- SyntaxError: Non-UTF-8 code starting with '\xd4' in file C:/PyCharmWorkSpace py on line 2
- 熬夜爆肝!C++基础入门大合集【万字干货预警 建议收藏】
- SEO优化考核的七大指标
- 快速创建树 算法 treeCreate treeview
- python 空矩阵_在NumPy中创建空数组/矩阵的方法
- 百度翻译api设置 java_Java调用百度API实现翻译
- [AJava]FusionCharts Free中文开发指南[使用文档教程]第十一章--FCF中的基本数字格式 ...
- 哪些不符合python语言变量名_以下选项中不符合 Python 语言变量命名规则的是( )_学小易找答案...
- selenium Grid2环境搭建和基本使用
- qt报错意外标记的class
- 佳能 cr2格式照片编辑 Photo Professional
- 上海交大软件工程教授告诉我,python小白变大牛之路一定要看的书