HTMLAgilityPack получить значение AJAX - PullRequest
2 голосов
/ 05 ноября 2010

Я пытаюсь получить значение таймера, используя HtmlAgilityPack, однако, когда я получаю innerText по идентификатору элемента, который он возвращает -: -: -

Есть ли способ получить времязначение, так как он использует AJAX?

1 Ответ

1 голос
/ 04 декабря 2010

Дело в том, что когда вы загружаете HttpAgilityPack.HtmlDocument (из Интернета, конечно), он отправляет HTTP-запрос на веб-сайт, а вы получаете простой текст. AJAX / JavaScript или изображения не загружаются. Когда вы видите это в браузере, вы не понимаете об этом, потому что это браузер;). После получения ответа он начинает загружать изображения, анимацию и выполнять код javascript, но HtmlAgilityPack использует HttpWebRequest для получения исходного кода и не управляет никаким кодом javascript.

Я предлагаю вам скачать действительно замечательный инструмент для проверки HTTP-трафика в вашей сети: Fiddler2 . Это позволит вам установить контрольные точки и точно увидеть, как возвращается ответ, и вы увидите, что эти вещи действительно обрабатываются самим браузером.

Я действительно не знаю, какова цель получения значения времени таймера в AJAX, но я думаю, что вы могли бы использовать WaTiN для загрузки источника с помощью Internet Explorer (и его скрытия, потому что если нет, то на экране загрузки страницы появится окно IE), и в тот момент, когда вам нужно получить значение таймера, получить источник из WaTiN и загрузить HtmlDocument, используя LoadHtml(string html).

...