在WebBrowser控件内的页面上运行javascript代码

本文关键字:运行 javascript 代码 WebBrowser 控件 | 更新日期: 2023-09-27 18:22:14

我有一个网页加载在WebBrowser控件中,HTML类似于:

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

我想使用javascript代码更改baa输入HTML元素的值,我做到了:

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

但它在IE中不起作用。如何解决这个问题?提前谢谢。

在WebBrowser控件内的页面上运行javascript代码

如果您想运行脚本,最好使用pre。NET和.NET WB控件,或仅随.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"

如果这对你有帮助,或者你需要更多帮助,请告诉我。

干杯。