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

Posted

技术标签:

【中文标题】带有检查元素功能的 HTML 渲染?如何使用 C#【英文标题】:HTML Render with inspect element functionality? HOW TO C# 【发布时间】:2011-05-12 07:06:30 【问题描述】:

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

【问题讨论】:

【参考方案1】:

我认为您必须使用 System.Windows.Forms.WebBrowser 控件来加载您的 html 文档。例如覆盖 Form 的 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;
    

祝你好运!

【讨论】:

谢谢edward,它真的帮我找到了路=)!!现在我只是想找出如何在浏览器上点击该位置。我尝试了你的方式,但我必须从 webBrowser.Document 重载 Document.Click 事件才能触发事件。非常感谢你的灯。 @Johans 我没有看到你的评论!对不起!据我了解您的问题:示例中的 valScreenX 和 valScreenY 是来自屏幕的坐标,而不是来自 Form 或 WebBrowser 控件;) @Johans 使用此类 msdn.microsoft.com/en-us/library/… 获取鼠标光标位置“表示光标在屏幕坐标中的位置的点”。 ;)

以上是关于带有检查元素功能的 HTML 渲染?如何使用 C#的主要内容,如果未能解决你的问题,请参考以下文章

带有空检查的 C# 7 switch case

如何在带有 HTML 渲染的 NestJs 中使用验证?

如何在ui中显示渲染的html文本?

使用带有渲染功能的 Vue.js 3 片段

如何为单个 HTML 元素重新加载或重新渲染 CSS? [复制]

如何使用 C# 执行 HTML 文件的所有 Javascript 以仅生成 HTML DOM