Синтаксический анализатор HTML Anglesharp, похоже, недостаточно глубоко анализирует документ, чтобы получить доступ к нужному элементу

#c# #web-scraping #anglesharp

Вопрос:

Поэтому я пытаюсь очистить веб-сайт с помощью AngleSharp и хочу получить доступ к определенной кнопке, которая вложена глубоко на сайте. Я вышел из системы с помощью HTML-кода проанализированного документа document.DocumentElement.OuterHtml , но могу видеть только до сих пор в документе:

                 <div class="l-propertySearch-paginationAndSearchFooter" data-test="pagination">
                    <div data-bind="component: 'pagination'"></div>
                </div>
            </div>
 

Однако, когда я просматриваю страницу в веб-браузере, я вижу дополнительные слои, необходимые для доступа к кнопке:

введите описание изображения здесь

Как вы можете видеть, div с заголовком атрибута привязки данных «компонент: разбиение на страницы» открывается дальше, но не отображает это в журнале-вот почему, я подозреваю, я не могу извлечь элемент.

Я экспериментировал document.QuerySelectorAll("button" и получил список кнопок, но не тот, который мне нужен, — похоже, что конкретного блока, который я хочу, не существует. Есть идеи, что я делаю не так?

Ответ №1:

Насколько я понимаю, та кнопка, которую вы ищете, создана с помощью javascript и не существует в исходном коде. Вот почему вы не можете получить доступ к этой кнопке с помощью anglesharp. Щелкните правой кнопкой мыши на веб-сайте и выберите Просмотреть источник страницы (Ctrl U в chrome) и найдите там свою кнопку. Это то, что anglesharp видит не html внутри элемента inspect.