récupérer le code HTML généré dynamiquement à l'aide de .net a été une tâche insaisissable pour beaucoup. Alors que la classe System.Windows.Forms.WebBrowser et l'interface COM Mshtml.htmldocument de l'assemblage de la bibliothèque d'objets Microsoft HTML ont été suggérées, leur implémentation a prouvé difficile. Code HTML rendu par le navigateur Web. Même l'accès au DOMDocument d'une page Web naviguée vers "https://www.google.com/#q=where am" ne récupérera pas les données générées dynamiquement qui apparaissent sur la page rendue. ne fournit pas le résultat souhaité. Le téléchargement du HTML brut à partir de l'URL spécifiée à l'aide de System.net.webClient et de l'écriture sur l'instance ihtmlDocument2 ne parvient pas à capturer les données générées dynamiquement.
une approche élégante qui combine les principes de sondage et d'async / Await fournit une solution plus fiable. En interrogeant en continu l'instantané HTML actuel et en vérifiant la propriété isbusy de WebBrowser, nous pouvons déterminer quand la page a terminé le rendu. Cette approche réduit considérablement les chances de récupérer prématurément les considérations de code HTML. Pour atténuer cela, il est recommandé d'implémenter un mécanisme de délai d'exploitation en plus de la logique de sondage.
implémentation pratique
Clause de non-responsabilité: Toutes les ressources fournies proviennent en partie d'Internet. En cas de violation de vos droits d'auteur ou d'autres droits et intérêts, veuillez expliquer les raisons détaillées et fournir une preuve du droit d'auteur ou des droits et intérêts, puis l'envoyer à l'adresse e-mail : [email protected]. Nous nous en occuperons pour vous dans les plus brefs délais.
Copyright© 2022 湘ICP备2022001581号-3