Как проверить цвет текста в Java, если у меня есть файлы .html и .css? - PullRequest
0 голосов
/ 19 января 2011

У меня есть HTML с CSS, и я хочу проверить, каков реальный цвет (и другие атрибуты визуального текста) указанного текста в документе HTML. Могу ли я сделать это с помощью JSoup или я должен искать какой-то настоящий движок / процессор HTML? Скорость обработки этой операции является одним из основных факторов.

Ответы [ 5 ]

1 голос
/ 19 января 2011

Я думаю, что он хочет получить эти данные в программе Java.Поэтому вам нужно сделать несколько вещей.

  1. Загрузить файлы таблиц стилей.
  2. Разобрать html и найти атрибут класса.
  3. Сопоставить .class в CSS с атрибутом html и найтиконкретная информация, которую вы хотите.

Но будьте осторожны, если вы хотите найти информацию о любом элементе HTML без атрибута class .В таком случае вам нужно найти xpath элемента html, например:

<table class="entityTable">
<tr>
<td> <input type="text" value="abcdef" /></td>
</tr>

Затем вам нужно найти xpath, например: body / div /.../ table / tr / td / input и вам нужно соответствовать любым правилам css, которые могут влиять на ваши атрибуты входного тега.

.entityTable tr td input
{
 color:red;
}

Это гораздо сложнее, поэтому, если html для анализа является вашей страницей, везде вставьте атрибут класса в ваши html-теги.В противном случае вам нужно найти способ обработать HTML-теги к правилам CSS.

Cheers.

1 голос
/ 19 января 2011

Хотя он все еще находится в бета-версии, HTML-парсер Cobra обладает такой возможностью.

0 голосов
/ 03 июля 2011

Если вы делаете это в апплете, вы можете использовать javascript для сбора информации и передачи ее в ваш апплет.

0 голосов
/ 03 июля 2011

CSSBox определенно то, что вы хотите. Это позволяет вам загружать внешние CSS и преобразовывать их во встроенном стиле для каждого элемента DOM.

http://cssbox.sourceforge.net/manual/

0 голосов
/ 19 января 2011

, если вам нужна точная информация об объекте на веб-странице,
как граница по умолчанию стандартной таблицы HTML или цвет стандартной ссылки
используйте расширение FireBug для FireFox.

...