Not sure if this is the best way, but it works. It evaluates the script on the page, which increases document.body.scrollTop over time and takes a screenshot after a fixed time.
page.open "http://www.somePage.com", (status) -> setTimeout(( -> page.evaluate(-> pos = 0 scroll = -> pos += 250 window.document.body.scrollTop = pos setTimeout(scroll, 100) scroll() ) setTimeout((-> page.render('bild.png') phantom.exit() ), 5000) ), 1000)
source share