WebDriver从屏幕截图中截取屏幕截图

时间:2014-03-24 12:10:22

标签: c# selenium selenium-webdriver webdriver screenshot

我正在尝试使用webdriver来保存目前在dom中的图像,其中一些项目的高度可能是1500px +。因此,截取这个屏幕截图并不能帮助我获得1080.因为在测试时它可能会更低。

我在一天中的大部分时间都尝试过研究并找到这样做的方法,并且认为我找到了可以解决问题的方法

var element = FindElement(By.ClassName("contentBody"));
int width = element.Size.Width;
int height = element.Size.Height;
Point point = element.Location;
int x = point.X; 
int y = point.Y;
RectangleF part = new RectangleF(x, y, width, height);
Bitmap bmpobj = new Bitmap((int)part.Width, (int)part.Height);
Bitmap bn = bmpobj.Clone(part, bmpobj.PixelFormat);
bn.Save(path, ImageFormat.Png);

然而,当克隆矩形时,我得到一个outofmemory异常。在这个特定的例子中,元素是一个div,其边界是1220 x 3045(它本质上是一个项目列表),我想将其保存下来以便稍后进行比较。

如果有人知道如何解决这个问题,我们将不胜感激。

0 个答案:

没有答案