] генерирование динамического HTML в .net: надежный подход с использованием Webbrowser и mshtml.htmldocument
] динамическое HTML -генерация является частым требованием в веб -разработке. .NET предлагает несколько инструментов для этого, включая класс system.windows.forms.webbrowser
и mshtml.htmldocument
интерфейс Com (из библиотеки объектов Microsoft HTML).
с использованием класса WebBrowser
webbrowser
, как правило, допускает навигацию на URL и поиск рендерированного HTML. Тем не менее, он не всегда обеспечивает полностью отображаемый HTML, потому что процесс рендеринга может быть не завершен. Чтобы решить эту проблему, контролируйте documentCompleted
event; Получить HTML только после того, как это событие стреляет.
интерфейс mshtml.htmldocument
] Интерфейс mshtml.htmldocument
предлагает прямые манипуляции с vared html. Вы можете использовать метод написать
для перемещения в URL и итерацию через коллекцию All
, чтобы получить HTML. Тем не менее, этот метод не всегда может отражать окончательный html точно, потенциально отличающийся от необработанного HTML.
более надежное решение: комбинирование обоих методов
] превосходный подход объединяет сильные стороны обоих методов. Используйте WebBrowser
для навигации и mshtml.htmldocument
для HTML -поиска, обеспечивая полное рендеринг перед поиском. Это включает в себя:
webbrowser
. documentCompleted
event. mshtml.ihtmldocument2
из webbrowser
. All
коллекция mshtml.ihtmldocument2
, чтобы получить полностью отображенный html. Этот комбинированный метод предлагает надежный способ получить динамически сгенерированный HTML с использованием .net's webbrowser
и mshtml.htmldocument
. Для точного рендеринга рассмотрите возможность включения рендеринга HTML5 через управление функциями браузера.
Отказ от ответственности: Все предоставленные ресурсы частично взяты из Интернета. В случае нарушения ваших авторских прав или других прав и интересов, пожалуйста, объясните подробные причины и предоставьте доказательства авторских прав или прав и интересов, а затем отправьте их по электронной почте: [email protected]. Мы сделаем это за вас как можно скорее.
Copyright© 2022 湘ICP备2022001581号-3