GetElementById给了我一个例外 - VB.NET

时间:2015-12-28 10:19:36

标签: vb.net

我正在研究VB.NET中的一些代码,它们会自动执行一些操作。 我有几个按钮,可以手动执行一些操作。但我也有一个按钮可以自动执行某些操作。

如果我按下按钮手动运行它,它可以正常工作。 但是当我按下按钮自动运行它时,它会给我一个Object reference not set to an instance of an object exception.

这是给出例外的代码:

Private Sub btnStep4_Click(sender As Object, e As EventArgs) Handles btnStep4.Click

Dim allelements As HtmlElementCollection = WebBrowser1.Document.All

Dim ran As Boolean = False
For Each webpageelement As HtmlElement In allelements
    WebBrowser1.Document.GetElementById("website_name").SetAttribute("value", txtWebName.Text + txtWebExt.Text) '< This one
    WebBrowser1.Document.GetElementById("website_code").SetAttribute("value", txtWebName.Text) '< And this one


    If webpageelement.GetAttribute("title") = "Website opslaan" And ran = False Then

        webpageelement.InvokeMember("click")
        ran = True
    End If
Next


End Sub

所以当我点击btnStep4按钮时,它可以工作。但是,当我像这样模拟点击时:

While WebBrowser1.ReadyState <> WebBrowserReadyState.Complete
            Application.DoEvents()
        End While
        btnStep4_Click(sender, e)

我得到了例外。

这是为什么?有什么我想念的吗?

这可能是一个愚蠢的错误,但我无法找出我做错了什么 任何帮助或提示将不胜感激!

0 个答案:

没有答案