-2

我在 VB.Net 中收到以下错误。

“你调用的对象是空的”

Try

    Dim myurl As String
    myurl = "http://example.com/page.php?user=" & uzjer
    WebBrowser1.Url = New Uri(myurl)

    For Each ele As HtmlElement In WebBrowser1.Document.Links
        Dim username As String
        username = ele.GetAttribute("name")

        MsgBox(username)

    Next
Catch ex As Exception
    MsgBox(ex.Message)
End Try
4

2 回答 2

0

根据您在此处提供的信息是可能的原因

  • uzjer可能null
  • GetAttribute("name")返回null,然后您尝试在 MessageBox 中显示它

username在使用之前尝试分配一个值以GetAttribute("name")确保它不为空。

如果您想要更具体的答案,请告诉我您收到错误的那一行。

于 2013-04-29T15:56:21.130 回答
0

我在这里看到了几个问题。

首先是您永远不会导航到您的 URL。分配给 WebBrowser Url 属性不是您想要做的。结果是当您检查链接时,元素没有“名称”属性。这意味着您将返回对用户名字段的空引用,并在将该空变量传递给 MsgBox() 时导致 NullReferenceException。使用 WebBrowser 的.Navigate()函数。

接下来,您将遍历文档中的所有链接。任何没有名称属性的链接都会导致与导航问题相同的问题。您应该寻找一个用户名链接。

于 2013-04-29T16:03:35.937 回答