“vb.NET”;对象引用未设置为对象的实例;

“vb.NET”;对象引用未设置为对象的实例;,vb.net,Vb.net,我在VB.Net中收到以下错误 “对象引用未设置为对象的实例” 根据您在此提供的信息,可能的原因如下 uzjer可以是null GetAttribute(“name”)返回null,然后尝试在消息框中显示它 在使用GetAttribute(“name”)之前,请尝试为username分配一个值,以确保该值不为空 如果您想得到更具体的答案,请告诉我错误所在的行。我发现这里有几个问题 首先,你永远不会导航到你的URL。您不想指定WebBrowser Url属性。结果是,当您检查链接时,元素没有“

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

“对象引用未设置为对象的实例”


根据您在此提供的信息,可能的原因如下

  • uzjer
    可以是
    null
  • GetAttribute(“name”)
    返回
    null
    ,然后尝试在消息框中显示它
在使用
GetAttribute(“name”)
之前,请尝试为
username
分配一个值,以确保该值不为空


如果您想得到更具体的答案,请告诉我错误所在的行。

我发现这里有几个问题

首先,你永远不会导航到你的URL。您不想指定WebBrowser Url属性。结果是,当您检查链接时,元素没有“name”属性。这意味着您将返回对username字段的null引用,并在将该null变量传递给MsgBox()时引发NullReferenceException。使用WebBrowser的功能


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

从何处获得错误?堆栈跟踪是什么?删除Try-Catch并查看错误发生的位置。如果我删除Try-Catch,我将得到相同的错误是的,但在哪一行?你在调试中运行过吗?uzjer是什么?如果GetAttribute调用找不到名为name的属性怎么办?这将导致对象引用错误。请尝试“Dim username as String=String.Empty”,否则我们需要更多信息!错误显示在这行中:对于WebBrowser1.Document.Links中的每个ele作为HtmlElement,如果我这样做,那么对于WebBrowser1.Document中的每个ele作为HtmlElement,MsgBox(“1”)的所有操作都有效。Links@chizijs那是因为你没有文件。WebBrowser1 nas未完成该页的导航,因此它是。文档属性为
Nothing
。尝试引用Nothing引用的
.Links
属性会引发异常。您必须调用WebBrowser1.Navigate(),然后必须等待它完成。
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