【发布时间】:2020-05-22 05:50:11
【问题描述】:
案例:
我有 2 个 iframe,并且都有很多 div 和其他控件,所以这两个 iframe 都像 HTML 网站的中等大小。我想比较两者并找出差异。
我在这里想到了不同的选择:
解决方案 1: 截取 2 个 iframe 的完整屏幕截图,并使用 Python 的枕头库比较两个屏幕截图,该库在屏幕截图中的不匹配区域绘制网格。但这里的问题是我在互联网上没有找到任何可以截取完整 iframe 屏幕截图的代码(我有一个带有滚动条的长 iframe)。我尝试了几乎所有关于 SO 的答案,但所有答案都适用于普通页面,但不适用于 iframe。
解决方案 2: 以某种方式从两个 iframe 中获取所有 HTML 代码并进行比较,但这并不容易分析结果,因为它会发现一些不同或不匹配的 HTML 代码2个iframe。我认为这更像是文本比较,而不是一个好的解决方案。
所以我正在寻找可以使用 Python 或 Javascript 截取 iframe 完整屏幕截图的代码,或者寻找一些更好的选项,让我可以比较 2 个 iframe 并找出差异。
我尝试了谷歌找到的几乎所有答案:
此处给出了示例 iframe,其中整个 html 在 iframe 内:https://grapesjs.com/demo.html,如果某些代码可以截取此 iframe 的完整屏幕截图,那么对我来说很容易比较。
【问题讨论】:
-
下面所有的iframe都是普通的html页面。您是否特别想看看它们作为 iframe 是什么样的?
-
是的,都在html页面下。我的目标是确保两个 iframe 在视觉上看起来相同。
-
那么打开 iframe 显示为顶级页面的页面并截屏这些页面是否可以接受?
-
我认为是这样,但这是怎么可能的,因为我尝试的所有屏幕截图代码都能够对任何页面进行全屏截图,但是对于 iframe,它只截取不滚动可见的部分。
-
您拥有 iframe 网址,因此您可以将它们作为顶级页面打开。
标签: javascript python html selenium-webdriver iframe