HTMLAgilityPack obtenir une valeur AJAX

ajax asp.net-ajax html-agility-pack

Question

J'essaie d'obtenir la valeur d'une minuterie à l'aide de HtmlAgilityPack, mais lorsque j'obtiens innerText par l'ID d'élément, il renvoie

Existe-t-il un moyen d'obtenir la valeur temporelle puisqu'il utilise AJAX?

Réponse acceptée

Le fait est que lorsque vous chargez un document HttpAgilityPack.HtmlDocument (à partir du Web, bien sûr), il HttpAgilityPack.HtmlDocument une demande Web HTTP au site Web et vous recevez un texte brut. AJAX / JavaScript ou des images ne sont pas chargés. Lorsque vous le voyez dans un navigateur, vous ne vous en rendez pas compte, car c'est un navigateur;). Après avoir reçu la réponse, il commence à charger des images, des animations et à exécuter du code javascript, mais HtmlAgilityPack utilise HttpWebRequest pour obtenir le code source et ne gère aucun code javascript.

Je vous suggère de télécharger un outil vraiment génial pour inspecter le trafic HTTP sur votre réseau: Fiddler2 . Cela vous permettra de définir des points d'arrêt et de voir exactement comment la réponse est renvoyée, et vous verrez que ces éléments sont réellement gérés par le navigateur lui-même.

Je ne sais pas vraiment à quoi sert d'obtenir la valeur temporelle d'une minuterie dans AJAX, mais je pense que vous pouvez utiliser WaTiN pour charger le code source à l'aide d'Internet Explorer (et le cacher, car sinon, une fenêtre IE apparaîtra sur l’écran de chargement de la page), et au moment où vous devez obtenir la valeur du minuteur, récupérez le code source de WaTiN et chargez un document HtmlDocument aide de LoadHtml(string html) .



Related

Sous licence: CC-BY-SA with attribution
Non affilié à Stack Overflow
Sous licence: CC-BY-SA with attribution
Non affilié à Stack Overflow