在我的程序中,我需要获取与屏幕上某个点对应的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
答案 0 :(得分:1)
使用SAX解析器是不可能的。
SAX解析器将解析XML文档以在其上下文中获取内容。
HTML和XML是不同的东西。
HTML内容没有位置。该位置来自渲染引擎,它将生成此数据的视图。通过应用CSS来进行定位。
如果要获取HTML文档中元素的位置,则需要一个浏览器呈现引擎。您可以尝试selenium testdriver。