JSoup поддерживает getComputedStyle или его эквивалент? - PullRequest
2 голосов
/ 09 сентября 2011

Дерево документа, возвращаемое JSoup, когда он анализирует HTML-документ, поддерживает getComputedStyle для отдельных элементов документа?

Что я хотел бы сделать, это встроить CSS во фрагмент HTML, чтобы я мог вставитьфрагмент в более крупный HTML-документ, с сохранением всего его форматирования, но без каких-либо помех для любого другого форматирования в документе.

Исследования, которые я провел, похоже, позволяют предположить, что я могу сделать это, перебирая всеэлементы в документе, вызывая getComputedStyle для каждого и назначая результат в качестве стиля для элемента.

Да, я понимаю, что это может очень раздувать результирующий HTML, помещая кучу избыточных /ненужная информация о стиле для отдельных элементов, но я готов заплатить цену большего HTML, и, насколько я могу судить, встраивание встроенного стиля таким образом - единственный способ точно сохранить форматирование, в то же время делая фрагменты HTML.полностью портативный.(Если у вас есть другое предложение для достижения этой цели, у меня все на слух.: -)

Возвращаясь к теме ... Если я не могу использовать getComputedStyle (или его эквивалент) с JSoup,есть ли другой анализатор Java HTML + CSS, который поддерживает getComputedStyle или его эквивалент?

Спасибо.

1 Ответ

0 голосов
/ 10 сентября 2011

Это невозможно.Jsoup - это просто анализатор HTML с поддержкой селектора CSS, это не средство визуализации HTML.

Возможно, вы захотите взглянуть на Lobobrowser , который представляет собой HTML-рендеринг на основе Java, поддерживающий JavaScript и т.п. Я не знаю и не гарантирую, что getComputedStyle() поддерживается Lobo .

Никаких других инструментов не приходит на ум. HtmlUnit подходит близко, поскольку он также может обращаться к / вызывать JavaScript, но некоторые результаты Google предполагают, что getComputedStyle() также не работает на HtmlUnit.В конце концов, это также не настоящий HTML рендеринг.

...