如何对超出浏览器窗口范围的页面DIV元素实现全尺寸自动截图?
超视口大尺寸DIV全量自动截图问题汇总
核心约束与待解决问题
- 核心需求:获取尺寸大于浏览器可视窗口的DIV元素完整截图,受外部条件限制,无法通过调整浏览器窗口尺寸适配截图要求
- 初步方案痛点:原计划通过分段多次截图后拼接的方式实现全量捕获,但需要自动化处理数千个DIV元素,无手动操作空间,暂不明确该路径的自动化实现方法
- 现存异常:运行过程中偶发
MoveTargetOutOfBoundException报错,初步判断触发原因是目标DIV未完全加载,计划通过try-catch代码块做兼容处理 - 已做尝试:分别搭配Firefox、Chrome浏览器对应的WebDriver驱动,测试过多种截图实现方案,未达到预期效果
现有已落地代码片段
- 页面元素定位跳转代码
Actions actions = new Actions(driver); actions.moveToElement(element); actions.perform();
- 现有元素截图实现代码
File scrn = element.getScreenshotAs(OutputType.FILE); FileUtils.copyFile(scrn, new File("D:\\screens\\p1\\p_" + nmbr + ".png"));
内容的提问来源于stack exchange,提问作者YetAnotherGuy
相关产品推荐
相关产品推荐

