Selenium Chrome屏幕截图会随机生成空格

时间:2017-08-17 11:19:04

标签: c# selenium selenium-webdriver selenium-chromedriver

我使用Selenium(Chrome驱动程序)生成页面的屏幕截图。但有时生成的屏幕截图在屏幕截图底部有空格。它是随机发生的。看起来渲染就停止了(参见附件截图)。

我试过

  • 已更新至最新版本的Chrome(60.0.3112.101)
  • 已更新至最新版本的Selenium.WebDriver(3.5.1)
  • 已禁用" no-sandbox"和#34;无头"参数

代码

var chromeOptions = new ChromeOptions();
chromeOptions.AddArgument("--headless");
chromeOptions.AddArgument("--no-sandbox");

var driver = new ChromeDriver(Server.MapPath("bin"), chromeOptions, TimeSpan.FromMinutes(3));    
driver.Navigate().GoToUrl("someurl.com");
driver.Manage().Timeouts().ImplicitWait = TimeSpan.FromSeconds(220);
driver.Manage().Window.Size = new Size(4000, 3000);

((ITakesScreenshot)driver).GetScreenshot().SaveAsFile("screenshote.png", ScreenshotImageFormat.Png);

driver.Close();
driver.Quit();

截图

这是渲染失败的bg图像的简单渲染。 enter image description here

更新

我无法提供指向网址的链接,但如果我使用PhantomJS,则相同的网址永远不会呈现。

1 个答案:

答案 0 :(得分:2)

有趣的是,在使用外部JAVA库进行屏幕截图时,我遇到了同样的问题,但问题是我正在使用整页截图,因此滚动页面是必要的,然后屏幕截图合并为一个带有空格。你的情况看起来不一样。

我看到你正在使用driver.Manage().Window.Size = new Size(4000, 3000); 也许您可能会尝试全屏扩展窗口以查看差异?

我试图为C#搜索外部截屏框架,但找不到任何内容:( 这里有一些帖子(例如12),如果此错误对您的测试至关重要,您可能需要检查它们是否包含其他屏幕截图解决方案。 祝你好运!