Альтернатива Document.GetElementFromPoint (e.ClientMousePosition) в веб-просмотре в формах c # win - PullRequest
0 голосов
/ 21 октября 2019

Я использую

HtmlElement elem = webBrowser1.Document.GetElementFromPoint(e.ClientMousePosition);

, чтобы получить элемент из точки в элементе управления веб-браузера. Я хочу получить элемент HTML по щелчку мыши в веб-представлении. Любая альтернатива этому в веб-элементе управления

1 Ответ

0 голосов
/ 21 октября 2019

Согласно объяснению здесь: Веб-просмотр

Взаимодействие с контентом веб-просмотра

Вы можете взаимодействовать с контентом веб-просмотра, используяМетод InvokeScriptAsync для вызова или внедрения сценария в содержимое веб-представления, а также событие ScriptNotify для получения информации из содержимого веб-представления.

Таким образом, вы можете сделать что-то вроде этого:

    private void WebView1_DOMContentLoaded(object sender, Microsoft.Toolkit.Win32.UI.Controls.Interop.WinRT.WebViewControlDOMContentLoadedEventArgs e)
        {
            String func = @" document.addEventListener('click', function(e){
                             //Get the Div Tag Name and its ID as string back into our code
                             window.external.notify(e.target.tagName + '(' + e.target.id + ')');
                            });";
            webView1.InvokeScriptAsync("eval", func);
        }

        private void WebView1_ScriptNotify(object sender, Microsoft.Toolkit.Win32.UI.Controls.Interop.WinRT.WebViewControlScriptNotifyEventArgs e)
        {
            string s = e.Value; //This will give you the Div Tag Name and ID
        }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...