Я пытаюсь решить проблему, которая меня смущает. Это может быть что-то очевидное, но я не могу понять, что случилось.C# WebBrowser, впрыскивание JavaScript не обновляет HtmlDocument
У меня есть WinForm с WebBrowser, который я загрузить этот путь, и она отлично работает:
WebBrowser.DocumentText = someHtmlCode;
В WebBrowser моей WinForm, я правой кнопкой мыши, чтобы получить исходный HTML и проверить, что код является то же самое я установил в свойстве DocumentText ... все в порядке на данный момент.
Поэтому, как только я получаю его загружен и работает, я впрыскивать некоторый код JavaScript в него, что-то вроде этого:
HtmlElement head = WebBrowser.Document.GetElementsByTagName("head")[0];
HtmlElement scriptEl = WebBrowser.Document.CreateElement("script");
IHTMLScriptElement element = (IHTMLScriptElement)scriptEl.DomElement;
element.text = "function sayHello() { alert('hello') }";
head.AppendChild(scriptEl);
Так я добавил новую функцию JavaScript с именем «SayHello», что я могу назвать это путь, и он все еще работает должным образом:
WebBrowser.Document.InvokeScript("sayHello");
Так что все в порядке в данный момент, я могу запустить функцию JavaScript и получать уведомление внутри WebBrowser, но что замешательство меня является то, что когда я щелкните правой кнопкой мыши на WebBrowser чтобы получить исходный код, я получаю ту же треску e Я установил в начале. Никаких следов кода JavaScript, добавленного позже, хотя он есть, потому что он работает, когда я его вызываю.
Конечно, если я смотрю в WebBrowser.HtmlDocument, я тоже не вижу JavaScript, это то же самое, что я смотрю на исходный код.
Итак, мой вопрос: где находится новый код JavaScript и как его вернуть? Мне нужно получить обновленный код HTML.
Спасибо!
Исходный код - это именно тот, исходный источник веб-страницы. Он не отражает текущее состояние DOM (которое вы динамически манипулируете). –
Я понял, что, но как я могу получить обновленный код, есть ли способ? –
[Этот вопрос] (http://stackoverflow.com/questions/7349667/how-to-grab-the-contents-which-updated-by-javascript-webbrowser) может помочь вам или указать вам хорошее направление. –