> "Render the page in X width and Y height and then take a screenshot".
Isn't this the exact example of phantomjs?
``` page.viewportSize = { width: 600, height: 600 }; ```
At least that is what I use to do for screen testing for some of our low-hanging-fruit QA. At some point I rewrote it in puppeteer and it was as simple as the above line.
The screenshot results in being the X/Y size.
I'd be interested in why this doesn't work in your usecase.