好的,这是我的带有ID的html行:
<id="accounttype" class=inline-block"><strong><?=$_SESSION['accounttype']?></strong><br>
这是它抓住的东西 当然,虽然这变成了文字
<?=$_SESSION['accounttype']?>
这是我的vb.net代码
TextBox4.Text = WebBrowser1.Document.GetElementById("accounttype").InnerText
当我运行程序时,我收到此错误
Object reference not set to an instance of an object.
答案 0 :(得分:2)
我没有看到ID为accounttype
的元素。我看到的只是一个ID为newssite
的元素。 GetElementById
返回属性id
等于您传递的属性的元素。例如:
<div id="accounttype">Hello World</div>
VB.NET代码:
TextBox4.Text = WebBrowser1.Document.GetElementById("accounttype").InnerText
您可能没有包含该代码;但是你也应该确保WebBrowser在尝试使用之前已经完全加载了它的内容。
答案 1 :(得分:2)
如何调试“未将对象引用设置为对象的实例”。错误强>
如果您有类型声明
A.B = C.D.E.F
如果A
为Nothing,如果C
为Nothing,如果C.D
为Nothing或C.D.E
为Nothing,则会出现此错误。
因此,要调试此错误,请将您的语句拆分为:
Dim d = C.D
Dim e = d.E
Dim f = e.F
A.B = f
现在发生错误的行将告诉你哪个对象是Nothing。然后检查创建此对象的方法调用的文档,以找出此方法调用返回Nothing的情况。
如果在这样做之后,您仍然不明白为什么会这样,请返回StackOverflow并发布一个新问题,添加您获得的信息(例如:为什么WebBrowser1.Document.GetElementById("accounttype")
返回Nothing即使我的文档中有一个ID为accounttype
的元素?)。