C# AngleSharp проблема с получением непосредственно дочерних элементов

Есть ряд вопросов, которые не могу решить уже часа 2, буду благодарен за помощь.

(Для примера буду использовать следующий url для парса https://ru.wiktionary.org/wiki/%D1%85%D0%BE%D1%80%D0%BE%D1%88%D0%BE)

var config = Configuration.Default.WithDefaultLoader();
var address = "https://ru.wiktionary.org/wiki/%D1%85%D0%BE%D1%80%D0%BE%D1%88%D0%BE";
var context = BrowsingContext.New(config);
var document = context.OpenAsync(address).Result;
  1. Хочу получить элемент

div.vector-body#bodyContent

Режим разработчика любого браузера с легкостью находит его

Режим разработчика любого браузера с легкостью находит его, но следующая строчка кода вернет мне null:

return document?.QuerySelector("div.vector-body#bodyContent") == null; //true

В чем может быть проблема? Что я делаю не так? Я, конечно, понимаю, что могу получить этот элемент другим способом, но что с этим не так?

  1. Основной вопрос: Хочу получить количество непосредственно дочерних элементов (находящихся на глубине 1) узла

div.mw-parser-output > *

Браузер правильно сообщает, что элементов 42: введите сюда описание изображения

А вот следующая строка кода вернет 3:

return document?.QuerySelectorAll("div.mw-parser-output > *").Length; //Возвращает 3

Буду рад каждому ответу, спасибо.


Ответы (0 шт):