It seems, you need to use selenium for your project. Its start real web browser with gui to process javascript and press buttons. Firefox or even Chrome. Also, headless is possible with phantomjs, but because it have a restrictions, virtual video buffer (xvfb) is also possible.
Whats about me, am using selenium only when it really needed. And no more ways is left. Because you are not so happy on everyday usage. More often, when peoples need to press few buttons, its possible to repeat raw http requests. For me, no problem, if this requests should include a huge auth flow + many cookies and redirects. If it possible, but a longer, than selenium, I will do anyway. Because I like to resolve tasks as it going from business purpose, not from my easiest ways.
I had a full time job about data excavating and I did many analytic tools for everyday usage.