当前位置: 首页 > 知识库问答 >
问题:

使用SeleniumRubyWebDriver比较两个图像

宰父子安
2023-03-14

请帮助我提供一个解决方案,通过使用SeleniumRubyWebDriver比较Web应用程序的两个URL中的两个图像是否相同(我的意思是每个图像中的内容都相同)。

例如:访问下面的网址时,我有一个小图像显示:

 http://testing.com/image1.png

访问下面的URL时,我还有另一个图像:

 http://testing.com/image2.png

我怎样才能比较这两个图像,看看他们是否是相同的使用Selenium Ruby WebDrive?任何建议都很感激。非常感谢。

共有1个答案

徐嘉勋
2023-03-14

rmagick可用于使用compare\u channel方法比较两幅图像的相同像素:

img1 =  Magick::Image.read('image1.png')
img2 =  Magick::Image.read('image2.png')

diff_img, diff_metric  = img1[0].compare_channel( img2[0], Magick::MeanSquaredErrorMetric )

# diff_img is a cool feature - an image showing which pixels are different

# diff_metric == 0.0 for "no difference"

更多详情见http://studio.imagemagick.org/RMagick/doc/image1.html#compare_channel。

 类似资料:
  • 问题内容: 我有两个地图声明为。在这里可以是另一个(依此类推)。我想检查两个地图是否完全相同,但不知道其深度。除了使用递归,我还可以比较每个地图上被调用的输出吗?还是有比较简单的方法比较地图? 问题答案: 快速回答 您应该使用该方法,因为已经实现了该方法以执行所需的比较。本身就像使用迭代器一样,但这是一种效率较低的方法。另外,正如@Teepeemm所指出的那样,它受元素顺序的影响(基本上是迭代器的

  • 问题内容: 在Java中,我想比较两个地图,如下所示,我们是否有现有的API可以做到这一点? 谢谢 问题答案: 我将使用Set的removeAll()功能来设置键的差异,以查找添加和删除的内容。可以通过使用设置为HashMap的条目进行设置差异来检测实际更改。Entry同时使用键和值实现equals()。 输出量

  • 问题内容: 我正在寻找一种比较两个图像以查看它们有多相似的方法。谷歌搜索它会产生大量的图像处理结果(裁剪,调整大小等),但是没有什么可以做图像的近似比较。有一个Node.js库,但是它的版本为0.0.1,并且依赖于各种第三方系统软件包,因此不稳定或可移植。 遵循以下原则: 问题答案: 有node-opencv模块,您可以使用它来执行繁重的操作,例如图像比较。 屏幕截图或图标可以变形(缩放,旋转,倾

  • 问题内容: 试图解决防止重复图像被上传的问题。 我有两个JPG。看着它们,我可以看到它们实际上是相同的。但是由于某些原因,它们具有不同的文件大小(一个是从备份中拉出的,另一个是另一个上载的),因此它们具有不同的md5校验和。 我如何能高效自信地比较两幅图像,就像人类能够看到它们完全相同一样? 示例:http : //static.peterbe.com/a.jpg和http://static.pe

  • 现在我希望从基于id的XPath生成唯一的基于类的XPath。Firepath生成的类XPath可能指向多个元素,而不是唯一的。但是firepath生成的id XPath总是唯一的,即指向单个元素。 所以,我正在尽可能地生成两个之间的映射。但我需要测试以下内容: 以确保我创建的类xpath对应于所需的DOM元素。任何帮助都将得到高度赞赏。我希望生成的xpath示例是: 目标是减少xpath的深度,

  • 问题内容: 有人可以建议一种使用JavaScript 比较 两个 大于,小于和过去的 日期 的值的方法吗?这些值将来自文本框。 问题答案: 该Date对象会做你想要的东西- 构造一个每个日期,然后用它们进行比较,,或。 在,,,和运营商要求使用作为 要清楚的是,仅直接检查日期对象是否相等将不起作用 我建议您使用下拉列表或日期输入的某些类似约束形式,而不要使用文本框,以免您陷入输入验证的困境。