VB.net如何以正确的方式控制IE

时间:2014-02-05 03:14:53

标签: vb.net internet-explorer

我用它在IE中加载网站:

Dim ie As Object
        ie = CreateObject("InternetExplorer.Application")

        ie.Navigate("http://xxxxxxx.com/login.html") 

        ie.Visible = True

这是在我加载页面后立即填写输入框:

ie.Document.GetElementById("email").SetAttribute("value", "my@mail.com")

当我想使用我的VB应用程序单击按钮时,问题就出现了。我在一个按钮中使用此代码:

Dim ie As Object
        ie = CreateObject("InternetExplorer.Application")

        ie.goback()

示例是使用IE中的后退按钮,但即使我使用ie.Document.All("Login").InvokeMember("click")我得到(HRESULT异常:0x80004005(E_FAIL))错误。

我是否需要告诉我的命令它需要使用哪个选项卡/窗口或我缺少的其他东西?我想在使用标准Internet Explorer打开的网站上做一些事情,我现在使用的是版本11(可能这是一个问题; - ))

编辑:这是我解决点击登录按钮的方法,但我需要通过锚文本点击其他链接:(

ie.Document.GetElementById("pass").Focus()
            SendKeys.Send("{ENTER}")

1 个答案:

答案 0 :(得分:0)

您使用的方法适用于IE8及以下版本。为了与IE9到IE11一起使用,您需要添加以下代码。这将调用事件侦听器。

参考Microsoft HTML对象库。

Dim Click_it As Object
Click_it = ie.document.createEvent("HTMLEvents")
Click_it.initEvent "click", True, False
ie.document.Element_to_Click.dispatchEvent Click_it