我的应用程序使用 HtmlAgilityPack下载 HTML 文档并通过大量 XPath 查询分析其 DOM 结构。免责声明:XPath 支持对于我的目的来说非常重要,例如,我无法切换到 CSS 选择器。这是我使用 HtmlAgilityPack 的主要原因(也可能是唯一)。
我有一个 HtmlAgilityPack.HtmlNode
,它是从带有一些 XPath 查询的 HTML 文档中选择的。现在我需要实现一个额外的方法:如果这个元素是由某个引擎渲染的,它的边界框坐标是什么?我什至不关心使用哪个特定引擎,随它去吧WebKit、MSIE、Gecko/Firefox 等。我只需要一种方法:
- 在任意大小的 Canvas (例如 1900*1200 像素)上渲染内存中的文档。
- 在渲染器的 DOM 树和我已有的
HtmlAgilityPack.HtmlDocument
之间设置一对一的对应关系。 - 向渲染器请求此 Canvas 上特定 DOM 元素 (
HtmlAgilityPack.HtmlNode
) 的边界框。
我已经花了半天时间研究 .NET 的各种 HTML 渲染引擎,但仍然没有找到实现此目的的方法。也许有人已经解决了类似的问题?感谢您的帮助。
最佳答案
您可以尝试添加自定义属性。然后在WebBrowser控件中找到它。
类似于 this .
关于c# - 如何在 C# 中获取 HTMLAgilityPack DOM 元素的边界框?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18094321/