I think a lot depends on which language you find comfortable. I am comfortable with both Python's beautifulsoup and scrapy. I prefer selenium that works for java, python, javascript, .net etc. For example, You can also use Selenium to scrape emails on page for instance.
In case if you want to scrape the pages using javascript, then you have options like PhantomJS and CasperJS. You can do scraping tasks like getting page source code using phantomjs and then scrolling through the specific data.
My suggestion is pick one language. Find out common frameworks in between the two. And then from there onwards you can easily switch language in same framework and accomplish specific scraping tasks.