Да.Этот код работает очень хорошо для меня:
private void button1_Click(object sender, RoutedEventArgs e)
{
// first define a new function which serves as click handler
webBrowser1.InvokeScript("eval", "this.newfunc_eventHandler = function(e) { window.external.notify(e.srcElement.tagName); }");
// attach function to body
webBrowser1.InvokeScript("eval", "document.body.addEventListener('click', newfunc_eventHandler, false);");
}
private void webBrowser1_ScriptNotify(object sender, NotifyEventArgs e)
{
// this should be called every time you tap an element; the value should be its tag name
Debug.WriteLine(e.Value);
}
Он соответствует ответу Джастина (который бил меня во время кодирования).Сначала он определяет обработчик кликов, который затем присоединяется к телу страницы (все через InvokeScript
).Каждый раз, когда вы нажимаете элемент ScriptNotify
, он должен вызываться на WebBrowser
, сообщающем имя тега прослушиваемого элемента.
Убедитесь, что вы установили IsScriptEnabled
true для элемента управления своего браузера.