HTML 渲染具有检查元素功能?如何使用 C#

发布于 2024-10-03 18:04:32 字数 95 浏览 8 评论 0原文

我想做一个 HTML 渲染来显示 HTML 文档,而不是在线网页。然后,当我单击 HTML 控件时,它仅显示我单击的 HTML。真正的目的是获取从根元素到所选标签的xpath。

I want to do a HTML Render that shows a HTML Document, not necessary an online webpage. Then when I click over a HTML Control, it shows only the HTML where I clicked. The real intention is to get the xpath from the root element to the selected TAG.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

苏别ゝ 2024-10-10 18:04:32

我认为您必须使用 System.Windows.Forms.WebBrowser 控件来加载 html 文档。覆盖例如表单的 OnLeftButton 事件。然后调用WebBrowser.Document.GetElementFromPoint方法。所以这个方法将返回HtmlElement类型的对象。结果,您将获得 html 元素,您可以从中导航到内部 html 源代码或通过所选标签的标签层次结构进行导航;)

我为您创建了一些示例:

private static String GetTagNameByClick(WebBrowser refWebBrowser, Int32 valScreenX, Int32 valScreenY)
    {
        Point refPoint = refWebBrowser.PointToClient(new Point(valScreenX, valScreenY));

        HtmlElement refHtmlElement = refWebBrowser.Document.GetElementFromPoint(refPoint);

        return refHtmlElement.TagName;
    }

祝您好运!

I think that you must use System.Windows.Forms.WebBrowser control for loading your html document. Override for example OnLeftButton event of the Form. And then call WebBrowser.Document.GetElementFromPoint method. So this method will return object of HtmlElement type. As the result you'll get html element from which you could navigate to inner html source code or navigate by hierarchy of tags from your selected tag;)

I create some example for you:

private static String GetTagNameByClick(WebBrowser refWebBrowser, Int32 valScreenX, Int32 valScreenY)
    {
        Point refPoint = refWebBrowser.PointToClient(new Point(valScreenX, valScreenY));

        HtmlElement refHtmlElement = refWebBrowser.Document.GetElementFromPoint(refPoint);

        return refHtmlElement.TagName;
    }

Good luck!

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文