如果设置了窗口大小,ChromeDriver截图不显示整个文档?

时间:2014-11-12 08:49:49

标签: selenium-webdriver selenium-chromedriver

使用chrome selenium驱动程序,如果浏览器维度是由我设置的,而不是仅保留我自动获得的维度,我没有获得显示整个文档的屏幕截图。

我像这样创建我的chrome驱动程序:

IWebDriver browser = new ChromeDriver();

browser.Manage().Window.Size = new Size(1024, 768);

我像这样截取屏幕截图:

var screenshot = browser.TakeScreenshot();
screenshot.SaveAsFile("c:\\screenshot.png", ImageFormat.Png);

屏幕截图大小为1014x686,这是预期的,因为它应该只覆盖文档,而是描绘网页的底部而不是整个网页。

为什么?

如果我没有设置窗口大小,屏幕截图似乎是正确的。

1 个答案:

答案 0 :(得分:1)

不幸的是,这是当前Chrome驱动程序的限制。它已被记录为an issue in their issue tracker。反过来,驱动程序错误取决于a bug in Chromium itself的修复程序。在修复Chromium中的父错误之前,没有任何chromedriver或Selenium项目能够以适当的可靠性和保真度解决问题。