У меня есть HTML в строке и мне нужно использовать C # для извлечения конкретного узла на основе его стиля CSS. В прошлом я анализировал HTML с помощью HtmlAgilityPack. Это очень хорошо разбирает HTML и дает мне все элементы организованно. И я даже могу фильтровать или запрашивать по атрибутам. Проблема в том, что он не «понимает», как работает иерархия CSS. CSS может быть встроенным, в начале файла или в родительском узле. Браузер достаточно умен, чтобы знать, каким должен быть окончательный рендеринг элемента. HtmlAgilityPack может дать мне атрибуты определенного элемента, но я не вижу способа сказать мне, каким будет конечный стиль элемента. Например, элемент может не иметь каких-либо атрибутов, но все же иметь определенный стиль, основанный на более сложной логике CSS (стиль из родительского узла и т. Д.)
Как я могу запросить HTML в оперативной памяти, не используя браузер без заголовка, чтобы найти элементы, конечный рендеринг которых (если бы они были отображены в браузере) имели бы определенный стиль? (Аналогично тому, как это делает jQuery, например: $ ('[color = "# 0000ff"]')
Я не хочу много сложных регулярных выражений или подобия.
Спасибо