Ответ 1
Вы получаете то, что возвращает сервер, так же, как и веб-браузер. Разумеется, веб-браузер запускает скрипты. Html Agility Pack - это только парсер HTML - он не имеет возможности интерпретировать javascript или привязывать его к внутреннему представлению документа. Если вы хотите запустить script, вам понадобится веб-браузер. Идеальный ответ на вашу проблему был бы полным "безголовым" веб-браузером. Это то, что включает в себя парсер HTML, javascript-интерпретатор и модель, имитирующую DOM-браузер, все работающие вместе. В принципе, это веб-браузер, за исключением без части рендеринга. В настоящее время нет такой вещи, которая полностью работает в среде .NET.
Лучше всего использовать элемент управления WebBrowser
и фактически загружать и запускать страницу в Internet Explorer под программным управлением. Это не будет быстрым или красивым, но он будет делать то, что вам нужно.
Также см. мой ответ на аналогичный вопрос: Загрузите DOM и выполните javascript на стороне сервера с .Net, в котором обсуждается доступная технология в .NET для этого., К сожалению, большинство частей существует прямо сейчас, но пока еще не совсем там, или, к сожалению, не были интегрированы в правильный путь.