Node.js это язык программирования (ЯП). В нём есть некоторые специфические штуки, которые для парсинга подходят лучше чем PHP, по крайней мере так говорят
Имитировать работу в браузере можно на любом ЯП, через инструменты selenium, phantomJS и еще кучку менее популярных.
На том же PHP я писал тесты с помощью codeception и запускал через селениум и простые тесты делаются довольно легко:
PHP:
$I = new WebGuy($scenario);
$I->amOnPage('/login'); //переход на страницу
$I->fillField('Username','davert'); //вводим логин и пароль
$I->fillField('Password','qwerty');
$I->click('Login'); //кликаем по кнопке Login
$I->see('Hello, davert'); //ожидаем увидеть Hello, davert на странице
Теоретически это можно использовать и для парсинга.
Сложнее всего оказалось настроить селениум
Первый раз я на это 2 дня убил.