You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何用Karate图片对比工具捕获完整可滚动页面

Karate图片对比捕获完整可滚动页面的解决方案

1. 用Karate内置全屏截图参数(推荐)

Karate的截图和图片对比功能支持fullPage配置项,开启后就能捕获整个可滚动页面,无需自行处理滚动逻辑。

调用截图时传入参数:

* def fullPageScreenshot = driver.screenshot({ fullPage: true })
* match fullPageScreenshot == read('expected-full-page.png')

或者直接在compareImage中配置:

* compareImage('expected-full-page.png', { fullPage: true })

这个配置会让浏览器自动处理滚动,生成包含页面全部内容的截图,解决原本只截取可见区域的问题。

2. 手动滚动拼接截图(备用)

如果上述内置方法不生效,可通过脚本模拟滚动逐段截图后拼接,步骤如下:

  • 获取页面总高度和当前视口高度
  • 循环执行滚动操作,每次滚动一个视口高度,截取当前可见区域
  • 将所有截取的图片拼接成完整页面截图

不过这种方法需要额外处理图片拼接逻辑,复杂度较高,优先使用第一种方案。

注意事项

  • 确保使用的浏览器驱动支持全屏截图(Chrome、Firefox等主流浏览器的驱动均支持)
  • 执行后检查生成的截图,确认底部等原本隐藏的区域是否被包含在内

内容的提问来源于stack exchange,提问作者Vincenzo Perretta

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.11 18:33:10