It works very similarly, with only superficial differences under the hood (eg. I used jsdom, and this uses cheerio). The `waitForSelector` feature is very cool!
You can see a live demo of the HN example using graphql-scraper at https://graphqlbin.com/v2/lxNohP
This example is deployed on Glitch - you can easily spin up your own using https://github.com/lachenmayer/graphql-scraper-server (with 1-click deploys to Heroku, Now & Glitch)
Of course (as mentioned already) there is also https://github.com/syrusakbary/gdom which uses Python+Graphene.
Then for actually turning the query into a digestable output I used the GraphQL schema builder that handles accepts HTML nodes from the requested page and grabs the right variables.
2.) That website doesn't expose an api, but returns statically rendered html.
3.) You don't like parsing statically rendered html for the data you're looking for, and you'd prefer getting the data using a GraphQL interface.