Лучший ответ, который я нашел в сети, был от http://clistax.com/question/qt/153748/st/4eb64b29180c4
Я полагаю, что самый простой способ внедрить Javascript в HTML-документ WebBrowser Control из c # - это вызвать метод execStrip с кодомдля вставки в качестве аргумента.
В этом примере код javascript внедряется и выполняется в глобальной области видимости:
var jsCode="alert('hello world from injected code');";
WebBrowser.Document.InvokeScript("execScript", new Object[] { jsCode, "JavaScript" });
Если вы хотите отложить выполнение, внедрить функции и вызывать их после:
var jsCode="function greet(msg){alert(msg);};";
WebBrowser.Document.InvokeScript("execScript", new Object[] { jsCode, "JavaScript" });
WebBrowser.Document.InvokeScript("greet",new object[] {"hello world"});
Это действительно для элементов управления Windows Forms и WPF WebBrowser.
Это решение не является кросс-браузерным, поскольку «execScript» определен только в IE и Chrome.Но вопрос касается элементов управления Microsoft WebBrowser, и поддерживается только IE.