2

我的应用程序使用HtmlAgilityPack下载 HTML 文档并使用大量 XPath 查询分析它们的 DOM 结构。免责声明:XPath 支持对我来说非常重要,例如,我不能切换到 CSS 选择器。这是我使用 HtmlAgilityPack 的主要原因(也可能是唯一的)原因。

我有一个HtmlAgilityPack.HtmlNode, 从带有一些 XPath 查询的 HTML 文档中选择的。现在我需要实现一个额外的方法:如果这个元素是由某个引擎渲染的,它的边界框坐标是多少?我什至不在乎使用哪个特定引擎,让它成为 WebKit、MSIE、Gecko/Firefox 等。我只需要一种方法:

  1. 在任意大小的画布(例如 1900*1200 像素)上渲染内存中的文档。
  2. HtmlAgilityPack.HtmlDocument在渲染器的 DOM 树和我已经拥有的 DOM 树之间建立一一对应的关系。
  3. HtmlAgilityPack.HtmlNode向渲染器请求此画布上特定 DOM 元素 ( ) 的边界框。

我已经花了半天时间研究 .NET 的各种 HTML 渲染引擎,但仍然没有找到方法。也许有人已经解决了类似的问题?感谢您的任何帮助。

4

1 回答 1

2

您可以尝试添加自定义属性。然后在 WebBrowser 控件中找到它。
这样的东西。

于 2013-08-11T16:22:41.210 回答