Java -- вполне подходящий инструмент, который распологает всем необходимым.
Думаю, ваши кейсы полностью покроет связка
Selenium и
PhantomJS.
Selenium -- это фреймворк для автоматизации действий браузера. Чаще всего применяется при написании UI-тестов. Позволит вам выполнять действия, вроде "загрузить страницу по такому-то урлу", "дождаться загрузки такого-то ajax-куска", "проскроллить страницу вниз" и т.п.
PhantomJS -- это headless-браузер с WebKit внутри. Им будет управлять Selenium. Позволит получать вам полностью отрендеренные страницы, с работающим JavaScript, как это делал бы полноценный браузер. Страницы можно заскриншотить, что может быть полезно в вашей задаче.