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