координата узла - PullRequest
       16

координата узла

0 голосов
/ 03 апреля 2012

в моей программе мне нужно получить координату org.w3c.dom.Node node, соответствующую точке на экране, поскольку Dom - это уникальная структура данных html-файла, как это возможно?

            Parser p = new Parser();
                SAX2DOM sax2dom = null;
        org.w3c.dom.Node doc  = null;



  URL url = new URL("some adr");
        p.setFeature(Parser.namespacesFeature, false);
        p.setFeature(Parser.namespacePrefixesFeature, false);
        sax2dom = new SAX2DOM();
        p.setContentHandler(sax2dom);
        p.parse(new InputSource(new InputStreamReader(url.openStream())));
        doc = sax2dom.getDOM();
        html =doc.getFirstChild();

РЕДАКТИРОВАТЬ "Я не хочу получать координаты, основанные на действии мыши, просто интересно, если при переносе DOM обратно в документ HTML, будет ли возможность использовать коды, независимые от устройства ввода, чтобы получить положение, потому что двигательЯ использую. Имеет функцию для получения узла или координаты точки, а затем прокручивает браузер до точки, как только страница загружается. Поэтому я подумал, что когда движок это предоставит, то есть возможность получить и положение узла. Здесь вы можетесм ссылка

1 Ответ

1 голос
/ 03 апреля 2012

С SAX-парсером это невозможно.

SAX-парсер будет анализировать XML-документ, чтобы получить контент в своем контексте.

HTML и XML - это разные вещи.

  • HTML - это описание разметки. Он говорит что-то вроде «Это заголовок».
  • XML - это структурное описание контента.В нем говорится что-то вроде «есть объект с именем PERSON, у него есть атрибут с именем NAME»

Содержимое HTML не имеет позиции.Позиция исходит от движка рендеринга, который будет генерировать представление этих данных.Позиционирование выполняется с применением CSS.

Если вы хотите получить положение элемента внутри HTML-документа, вам понадобится механизм визуализации в браузере.Вы можете попробовать тестер селена .

Эта статья может помочь.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...