dom节点的坐标

时间:2012-04-03 12:44:49

标签: java dom nodes

在我的程序中,我需要获取与屏幕上某个点对应的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();

EDIT” 我不想基于鼠标操作得到坐标,只是想知道在将DOM转移回HTML文档时,是否有机会使用独立于输入设备的代码来获取位置,导致引擎即时使用。获取点的节点或坐标的函数,然后在页面加载时滚动浏览器指向。所以我想当引擎提供它时,那么也有可能获得Node的位置。你可以看到link

1 个答案:

答案 0 :(得分:1)

使用SAX解析器是不可能的。

SAX解析器将解析XML文档以在其上下文中获取内容。

HTML和XML是不同的东西。

  • HTML是标记描述它表示“这是标题”。
  • XML是内容的结构描述。它说“有一个名为PERSON的对象,它有一个名为NAME的属性”

HTML内容没有位置。该位置来自渲染引擎,它将生成此数据的视图。通过应用CSS来进行定位。

如果要获取HTML文档中元素的位置,则需要一个浏览器呈现引擎。您可以尝试selenium testdriver

This article may help.