#.net #screen-scraping #webview2 #outerhtml
Вопрос:
Ранее я использовал класс .net Webbrowser для очистки данных с веб-страниц, для которых требуется их фактическая загрузка для отображения соответствующих данных, что делает простые HTML-запросы бесполезными. Поскольку этот класс теперь непригоден для использования, я переключился на Webview2, и он довольно хорошо работал для 1 веб-сайта. Я использовал следующую функцию после загрузки веб-страницы, а затем проанализировал данные, которые мне нужны, с помощью магии регулярных выражений:
String = Await ExecuteScriptAsync("document.documentElement.outerHTML")
Однако теперь я пытаюсь извлечь данные с другого веб-сайта, и, похоже, данные, которые я пытаюсь извлечь, просто вообще не найдены в строке outerHTML. Я знаю, что это не проблема с активацией функции до загрузки веб-страницы, так как для отладки я жду, пока не увижу нужные мне данные на экране, а затем вручную активирую функцию с помощью кнопки. Используя элемент inspect в обычном браузере, я могу видеть нужные мне данные просто отлично.
Я мало разбираюсь в дизайне веб-сайтов, так что, возможно, я что-то упускаю здесь. Я понял, что все, что видно на веб-странице, представлено в outerHTML. Есть ли другие вещи, помимо outerHTML, в которых могут быть данные, которые я мог бы извлечь с помощью ExecuteScriptAsync?
Комментарии:
1. Возможно, данные отображаются в
<iframe>
формате (что усложнило бы их захват). Попробуйте найти тег в вашем html-файле.2. @PoulBak Похоже, что это действительно так. Весь раздел, в котором находятся мои данные, заключен в тег «класс iframe». Что теперь?