IE对象中的RuntimeBinderException

时间:2011-05-05 11:21:08

标签: c# internet-explorer-9

首先,我应该说我需要在我的应用程序中使用Internet Explorer(IE9)对象,我无法使用webBrowser控件。所以,我想在网页上的一个字段上模拟焦点事件:

webBrowser.Document.Forms[0].GetElementsByTagName("input")[0].InvokeMember("onFocus");
webBrowser.Document.Forms[0].GetElementsByTagName("input")[0].SetAttribute("value", "aaaa");
webBrowser.Document.Forms[0].GetElementsByTagName("input")[1].InvokeMember("onFocus");
webBrowser.Document.Forms[0].GetElementsByTagName("input")[1].SetAttribute("value", "bbbbb");

webBrowser变量为public static SHDocVw.InternetExplorer webBrowser;。其值设置为new SHDocVw.InternetExplorer(); 当执行代码的第一行时,我得到一个例外,

"System.MarshalByRefObject.InvokeMember(<...>)" Inaccessible due to protection level.

我使用的功能是private static。也许这与IE的文档是动态的事实有关? 那么,我该如何解决这个异常呢?或者还有其他方法来模仿对某个领域的关注吗? 提前谢谢。

1 个答案:

答案 0 :(得分:0)

应该使用FireEvent()而不是InvokeMember()。