You cannot take full page screenshots with Selenium/WebDriver. The WebDriver W3C requirement specify taking screenshots as:
The Take Screenshot command takes a screenshot of the top-level
browsing context’s viewport.
So you can only take screenshots of what is currently visible. I don't think there are a lot of use-cases where during a test you need a screenshot of the full-page. Simulating a user means act as the user would, the user can also only see the viewport. This simplifies the implementation of the WebDriver.
Implement it yourself:
What you could do is scroll and take multiple screenshots and combine them into one image after you got the shots:
- Take a screenshot.
- Take another screenshot.
- Repeat until end of page, e.g. reached the document height.
- Combine screenshots into one image.