突出显示XPath覆盖的节点

时间:2013-05-02 12:09:03

标签: java xpath html-parsing htmlunit

我想在HTML页面源中突出显示给定XPath所涵盖的节点。

我在HtmlUnit中查找过,在API中找不到任何东西。

目前,我正在考虑采取以下方式:

  1. 获取XPath并获取页面源。
  2. 将XPath分解为较小的块并将它们存储在Xpath_chunk []。
  3. 从0开始从Xpath_chunk []应用chunk。
  4. 更新每个块找到的每个节点的css属性(区分文本的任何更改)。
  5. 现在添加get next chunk并将其与current连接。
  6. 转到第3步。
  7. 通过这种方式,我将访问Xpath所涵盖的所有节点。通过一些更改,我可以删除那些不必要地突出显示的元素。

    这太复杂了。有没有办法做到这一点 ?

1 个答案:

答案 0 :(得分:1)

我最近使用JavaFX的WebEngine + WebView进行了初步的实现。将DOM侦听器注册到已加载网站的Document的所有节点,以便您可以收听这些节点上的点击。单击时,更改节点的样式并添加一些CSS。 WebView将反映更改并正确呈现页面。

WebEngine返回的文档也可以使用XPath(它是一个w3d文档)访问,因此您可以遍历它并修改您遇到的所有节点(或使用最远的节点,然后使用getParent向上移动( ),并修改每个父母。)