1

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

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

目前,我正在考虑按照以下方式进行操作:

  1. 获取 XPath 并获取页面源。
  2. 将 XPath 分成更小的块并将它们存储在 Xpath_chunk[] 中。
  3. 从 0 开始从 Xpath_chunk[] 应用块。
  4. 更新每个块找到的每个节点的 css 属性(区分文本的任何更改)。
  5. 现在添加获取下一个块并将其与当前块连接。
  6. 转到步骤 3。

这样,我将访问 Xpath 覆盖的所有节点。通过更多更改,我可以删除那些不必要地突出显示的元素。

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

4

1 回答 1

1

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

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

于 2013-05-02T12:24:37.507 回答