匹配JavaScript和JSoup DOM节点

匹配JavaScript和JSoup DOM节点,javascript,dom,jsoup,Javascript,Dom,Jsoup,我目前使用Jsoup解析网页的DOM树。我有一个单独的应用程序呈现页面,并使用JavaScript提取每个DOM节点的呈现位置。我使用JavaFX stage、webEngine、webView和executeScript功能来执行以下JavaScript: var all = document.getElementsByTagName("*"); var serialization = ""; var width = window.innerWidth; var height = window

我目前使用Jsoup解析网页的DOM树。我有一个单独的应用程序呈现页面,并使用JavaScript提取每个DOM节点的呈现位置。我使用JavaFX stage、webEngine、webView和executeScript功能来执行以下JavaScript:

var all = document.getElementsByTagName("*");
var serialization = "";
var width = window.innerWidth;
var height = window.innerHeight;
for (var i = 0, max=all.length; i < max; i++) {
    serialization += all.item(i).tagName+": "+all.item(i).offsetLeft+" "+all.item(i).offsetTop+" "+all.item(i).offsetWidth/width+" "+all.item(i).offsetHeight/height+"\n";
}
serialization
var all=document.getElementsByTagName(“*”);
var=”;
变量宽度=window.innerWidth;
var height=window.innerHeight;
对于(变量i=0,max=all.length;i

我现在面临的问题是将我从JavaScript获得的输出与我从Jsoup机制收集的信息相关联。Ie我想将每个节点的渲染位置添加到Jsoup数据结构中。每个DOM节点是否都有我不知道的唯一ID,或者我是否应该尝试完全不同的方法?

我认为您可以在DOM和JSoup中使用xPath作为唯一标识符

  • 请参考此问题,通过javascript获取xpath
  • 按照同样的思路,用Java编写一个函数,通过JSoup获取xpath
然后可以通过这两个xpath表达式比较每个节点。希望这能澄清