我有一个加载在WebBrowser控件中的网页,HTML类似于:
<input type='text' id='baa' name='baa' >
我想使用javacript代码更改baa
输入HTML元素的值,我做到了:
webBrowser1.Navigate("javascript:document.getElementById('baa').value = 'baa'; void(0)");
但它在IE中不起作用。如何解决这个问题?提前谢谢。
答案 0 :(得分:0)
如果你想运行脚本,最好使用带有.NET和.NET WB控件的.execScript,或仅带有.NET WB控件的.InvokeScript - 使用这些是一个更好的主意。你可以使用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"
请告诉我这是否对您有所帮助,或者您是否需要更多帮助。
干杯。