title: Selenium WebDriver C# Full Website Screenshots With ChromeDriver and FirefoxDriver
body: <p>When I take screenshots with ChromeDriver I get screens with the size of my viewport.
  <br>When I take screenshots with FirefoxDriver I get what I want, which is a full screen print of a website.</p>
  
  <p>ChromeDriver is declared like this:</p>
  
  <pre><code>IWebDriver driver = new ChromeDriver();
  </code></pre>
  
  <p>FirefoxDriver is declared like this:</p>
  
  <pre><code>IWebDriver driver = new FirefoxDriver();
  </code></pre>
  
  <p>Both drivers execute identical code:</p>
  
  <pre><code>driver.Manage().Window.Maximize();
  driver.Navigate().GoToUrl(url);//url is a string variable
  ITakesScreenshot screenshotDriver = driver as ITakesScreenshot;
  Screenshot screenshot = screenshotDriver.GetScreenshot();
  screenshot.SaveAsFile("c:/test.png", ImageFormat.Png);
  </code></pre>
  
  <p>ChromeDriver's test.png is of 1920x1099 resolution and contains only the browser viewport.
  <br>FirefoxDriver's test.png is of 1903x16559 resolution and contains the whole page.</p>
  
  <p>I know that <code>GetScreenshot()</code> method doesn't return identical resolution sizes because it has slightly different implementations in IEDriver, FirefoxDriver, OperaDriver, ChromeDriver.</p>
  
  <p>My questions are:</p>
  
  <ol>
  <li><p>Why is there such difference between ChromeDriver's and FirefoxDriver's <code>.GetScreenshot()</code> method, even tho they use an identical interface (ITakesScreenshot)?</p></li>
  <li><p>Is there a way to make ChromeDriver's <code>GetScreenshot()</code> method return the whole webpage screen instead of just the viewport?</p></li>
  </ol>