selenium 滚动截图参考
Selenium本身并不直接支持滚动截图,但是你可以通过编程方式实现滚动截图。下面是一个Python的例子,使用Selenium和PIL库实现滚动截图:
from selenium import webdriver
from PIL import Image
import time # 初始化浏览器驱动
driver = webdriver.Firefox() # 打开网页
driver.get("http://www.example.com") # 获取网页高度
height = driver.execute_script("return document.body.scrollHeight") # 滚动截图
screenshot = Image.new('RGB', (1920, height), (255, 255, 255))
driver.set_window_size(1920, height)
for i in range(0, height, 100):
driver.execute_script("window.scrollTo(0, %d)" % i)
time.sleep(0.5)
screenshot_part = driver.get_screenshot_as_png()
screenshot.paste(screenshot_part, (0, i)) # 保存截图
screenshot.save("screenshot.png") # 关闭浏览器驱动
driver.quit()
这个例子中,我们首先使用Selenium打开了一个网页,然后获取了网页的高度。接下来,我们使用PIL库创建了一个大小为1920x高度的空白图片,然后将浏览器窗口大小设置为与网页大小相同。在循环中,我们使用Selenium将浏览器滚动到不同的位置,然后使用get_screenshot_as_png()方法获取当前位置的截图,并将其粘贴到空白图片中。最后,我们将整个滚动截图保存为PNG格式的图片。
selenium 滚动截图参考的更多相关文章
- Selenium webdriver 截图 太长截不全的问题
Selenium webdriver 截图 太长截不全的问题 1.环境 selenium webdriver.net 2.46.0.0 + firefox 37.0.1 + win 8.1 2.问题 ...
- 《手把手教你》系列技巧篇(五十九)-java+ selenium自动化测试 - 截图三剑客 -上篇(详细教程)
1.简介 今天本来是要介绍远程测试的相关内容的,但是宏哥在操作服务器的时候干了件糊涂的事,事情经过是这样的:本来申请好的Windows服务器用来做演示的,可是服务器可能是局域网的,连百度都不能访问,宏 ...
- 《手把手教你》系列技巧篇(六十)-java+ selenium自动化测试 - 截图三剑客 -中篇(详细教程)
1.简介 前面我们介绍了Selenium中TakeScreenshot类来截图,得到的图片是浏览器窗口内的截图.有时候,只截浏览器窗口内的图是不够的,而且TakeScreenshot截图只针对浏览器的 ...
- 《手把手教你》系列技巧篇(六十一)-java+ selenium自动化测试 - 截图三剑客 -下篇(详细教程)
1.简介 按照计划宏哥今天将介绍java+ selenium自动化测试截图操作实现的第三种截图方法,也就是截图的第三剑客 - 截取某个元素(或者目标区域)的图片.在测试的过程中,有时候不需要截取整个屏 ...
- selenium窗口截图操作
selenium窗口截图操作 使用背景:在自动化测试过程中,可能遇到执行错误情况,那么怎么样及时捕获出错信息/界面? 可以使用 get_screenshot_as_file(self,filenam ...
- Windows 10 滚动截图工具
Windows 10 滚动截图工具 Edge & Note & Clip https://www.runoob.com/docker/docker-architecture.html ...
- html2canvas滚动截图
滚动截图 项目需求要进行动态的滚动截图搜索一下发现html2canvas可以实现截图,但是滚动截图网上搜罗了一遍发现不是很完善所以记录下 首先npm一下安装依赖: npm install html2c ...
- Selenium全屏截图,使用PIL拼接滚动截图
Selenium默认的截图save_screenshot只支持对当前窗口内容进行截图,当如果你想要截取整个网页,那么,可以明确的告诉你. Selenium做不到. 你可以手工使用开发者工具Ctrl+S ...
- selenium网页截图和截图定位(无界面)phantomjs
phantomjs是一款软件,需要重新安装. 参考: https://blog.csdn.net/liyahui_3163/article/details/79064108 案例代码: from se ...
- selenium 页面截图并保存
import java.io.File; import java.io.IOException; import org.apache.commons.io.FileUtils; import org. ...
随机推荐
- 开源LaTex可视化编辑器推荐,支持LaTex代码补全,一键套用模板!
https://latexlive.com/ 这还是个开源项目,不过是C#的,搭建的成本比较大,没PHP好搞. 下面是这个网站
- C#只允许启动一个WinFrom进程
[STAThread] public static void Main() { bool ret; System.Threading.Mutex mutex = new System.Thread ...
- win10系统,软件不可用,无法调用摄像头
现象描述: 客户电脑是win10,定制带版权的电脑,安装的有卡巴斯基安全软件(最开始并不知道有这么个玩意),使用客户端软件,软件可以正常打开,但是软件无法打开摄像头画面(*:软件在其他电脑都是正常使用 ...
- CentOS+Django+uWSGI+Celery+Supervisor配置
目录 背景 目录 安装 配置Supervisor 1.生成配置文件 2. 修改配置文件 3. 创建进程文件 创建 uwsgi.conf 进程文件 创建celery进程文件 启动supervisor 启 ...
- 6980. 【2021.02.03冬令营模拟】你的世界(world) Another Solution
Problem Description Input 从文件 world.in 中读入数据. Output 输出到文件 world.out 中. 输出共 T 行,第 i 行表示第 i 组测试数据的答案, ...
- kubelet 原理分析
Reference https://atbug.com/kubelet-source-code-analysis/ kubelet 简介 kubernetes 分为控制面和数据面,kubelet 就是 ...
- vue3中动态添加路由刷新无法正确匹配路由组件
1.问题 动态添加路由之后,页面重新匹配路由,匹配到了设置的404 notfound页面 该页面是在路径无法匹配到的时候才会跳转的页面 2. 问题查找 在前置路由守卫打印to 发现当前地址匹配到的组件 ...
- 第三課:信道学习Source Connect Reader & Destinations File Writer
第一步: 切换到主信道(Channels)界面,右键点击新建信道(New Channel) 第二步 : 下面是设置一些信道概要(Summary)信息 其中summary(概要) 界面主要包含 信道名称 ...
- Beetl 源码解析:GroupTemplate 类
本文首发于公众号:腐烂的橘子 前言 Beetl 是一款 Java 模板引擎,在公司的项目中大量运用,它的作用是写通用代码时,有一些差异化的逻辑需要处理,这时可以把这些差异化的逻辑写在模板里,程序直接调 ...
- RocketMQ 消息集成:多类型业务消息——定时消息
简介: 本篇将继续业务消息集成的场景,从使用场景.应用案例.功能原理以及最佳实践等角度介绍 RocketMQ 的定时消息功能. 作者:凯易.明锻 引言 Apache RocketMQ 诞生至今 ...