Могу ли я запустить все сценарии JavaScripts на странице при парсинге веб-страниц с помощью Node.js? (т.е. имитировать реальный браузер?)

Я пытаюсь выполнить парсинг веб-страниц с помощью node.js. Используя jsdom , легко загрузить DOM и внедрить в него JavaScript.Я хочу пойти еще дальше: запустить весь JavaScript, связанный с веб-страницей, а затем проверить полученный DOM, включая визуальные свойства (высота, ширина и т. Д.) Элементов.

Пока что я получаю NaN , когда пытаюсь проверить размеры элементов DOM с помощью jsdom.

Возможно ли это?

Мне кажется, что есть две отдельные проблемы:

  1. Запуск всего JS на веб-странице
  2. Получение узла для имитации рендеринга окна / экрана в дополнение к только DOM

Другой способ задать вопрос: можно ли использовать node.js как полностью автономный браузер, в котором можно писать скрипты?

Если это невозможно, есть ли у кого-нибудь предложения по поводу того, какую библиотеку я могу использовать для этого? ? Я относительно языковой агностик.

5
задан Ted Benson 20 October 2011 в 21:30
поделиться