запуск кода JavaScript на странице внутри элемента управления WebBrowser - PullRequest
1 голос
/ 03 февраля 2012

У меня есть веб-страница, которая загружается внутри элемента управления WebBrowser, HTML-код выглядит примерно так:

<input type='text' id='baa' name='baa' >

Я хочу изменить значение baa ввода HTML-элемента с помощью кода JavaScript, я сделал это:

webBrowser1.Navigate("javascript:document.getElementById('baa').value = 'baa'; void(0)");

но это не работает в IE.Как это исправить?Заранее спасибо.

1 Ответ

0 голосов
/ 12 февраля 2012

Если вы хотите запустить скрипт, вам лучше использовать .execScript, который поставляется с pre .NET и .NET WB, или .InvokeScript, который поставляется только с .NET WB, - использовать их гораздо лучше, так какВы можете использовать VBScript, а также JavaScript (JScript).

Чтобы изменить значение, все, что вам нужно сделать, это сделать следующее, предполагая, что вашим именем элемента управления WebBrowser является wbMain.Это в VB, но делать это в C # не имеет значения, за исключением синтаксиса языка, который легко читать и использовать на любом языке, который вы хотите.

Dim hDoc as MSHTML.IHTMLDocument ' declare the html document object.

Set hDoc = wbMain.Document ' Get a reference to the WB controls document object.

hDoc.getElementById("baa").value = "baa"

На самом деле вам даже не нужно получать ссылкуили сделайте любое из вышеперечисленного, если хотите, вы можете использовать его непосредственно вне контроля WB.

wbMain.Document.getElementById("baa").value = "baa"

Если вы хотите изменить его на что-то другое, например, «naa», вы просто сделаете это:

wbMain.Document.getElementById("baa").value = "naa"

Дайте мне знать, если это полезно для вас или вам нужна дополнительная помощь.

Приветствия.

...