Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/.net/22.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/selenium/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
.net 捕获内容框架/弹出窗口的图像_.net_Selenium_Selenium Rc - Fatal编程技术网

.net 捕获内容框架/弹出窗口的图像

.net 捕获内容框架/弹出窗口的图像,.net,selenium,selenium-rc,.net,Selenium,Selenium Rc,我正在尝试捕获正在测试的web应用程序的内容区域的图像 我需要从我的图像中删除浏览器菜单,这样用户就可以在不同的浏览器之间比较内容图像 这应该在任何PC分辨率和任何浏览器上运行 给定的selenium方法提供了捕获整个窗口的方法: Selenium.CaptureScreenshot(filename), Selenium.CaptureEntirePageScreenshot(filename,kwargs) 另外,在尝试计算帧的大小时,请给出相对于浏览器帧的像素计数,这意味着(0,0)是浏

我正在尝试捕获正在测试的web应用程序的内容区域的图像

我需要从我的图像中删除浏览器菜单,这样用户就可以在不同的浏览器之间比较内容图像

这应该在任何PC分辨率和任何浏览器上运行

给定的selenium方法提供了捕获整个窗口的方法:

Selenium.CaptureScreenshot(filename),
Selenium.CaptureEntirePageScreenshot(filename,kwargs)
另外,在尝试计算帧的大小时,请给出相对于浏览器帧的像素计数,这意味着
(0,0)
是浏览器的左上角点,而不是屏幕


如何使用selenium与.NET结合来捕获相关内容区域?

听起来您已经知道答案了。我们使用
Selenium.captureEntityRepageScreenshottostring()
,因为我们运行测试的方式可能不会让浏览器和测试脚本在同一个系统上运行,但它在核心使用与
Selenium.captureEntityRepageScreenshot()相同的代码。唯一的区别是,我们的方法返回一个BASE64编码的PNG图像,因此我们不必从磁盘获取它。

我同意Patterson使用CaptureEntityRepageScreenshottostring而不是CaptureEntityRepageScreenshot

其次,为了进行比较,您需要任何图像比较实用程序来比较两个图像或图像的一部分,例如为java实现提供ImageCompareUtil。 在您的情况下,您需要将捕获图像的一部分与基础图像进行比较。 不过,对于ex,如果是FF,则需要一些跨浏览器逻辑。捕获的图像将包含整个页面内容,而对于IE,则仅包含可见内容

对于不同的分辨率,您可以在捕获屏幕截图之前将浏览器窗口调整为预期的分辨率


希望这会有所帮助

当我使用first selenium时,CaptureScreenshot对我不起作用。为了让selenium发挥我想要的作用,我必须使用SeleniumWebDriver。也许可以在这里试试: