HTML рендер с проверкой функциональности элемента?КАК C # - PullRequest
3 голосов
/ 18 ноября 2010

Я хочу сделать HTML-рендеринг, который показывает HTML-документ, не обязательно онлайн-страницу.Затем, когда я нажимаю на элемент управления HTML, он показывает только тот HTML-код, на котором я щелкнул.Реальное намерение состоит в том, чтобы получить xpath от корневого элемента к выбранному тегу.

1 Ответ

4 голосов
/ 19 ноября 2010

Я думаю, что вы должны использовать 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;
    }

Удачи!

...