HTML呈现与检查元素功能?如何使用C#

HTML呈现与检查元素功能?如何使用C#,c#,html,render,inspect,C#,Html,Render,Inspect,我想做一个HTML呈现,显示一个HTML文档,而不是一个在线网页。然后,当我单击HTML控件时,它只显示我单击的HTML。真正的目的是将xpath从根元素获取到所选标记。我认为必须使用System.Windows.Forms.WebBrowser控件来加载html文档。重写例如表单的OnLeftButton事件。然后调用WebBrowser.Document.GetElementFromPoint方法。因此,此方法将返回HtmlElement类型的对象。因此,您将获得html元素,您可以从中导航

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

我认为必须使用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;
    }

祝你好运

谢谢你,爱德华,它真的帮我找到了路=)!!现在我只是想知道如何在浏览器上点击位置。我尝试了你的方法,但是我不得不重载文档。单击webBrowser.Document中的事件以触发事件。非常感谢您的点评。@Johans我没有看到您的评论!很抱歉我理解您的问题:示例中的valScreenX和valScreenY是来自屏幕的坐标,而不是来自表单或WebBrowser控件;)@Johans使用该类获取鼠标光标位置“一个在屏幕坐标中表示光标位置的点。”;)