【问题标题】:Need Help In WebBrowser Control in VB.net在 VB.net 中的 WebBrowser 控件中需要帮助
【发布时间】:2013-08-06 04:35:03
【问题描述】:
Private Sub Button3_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button3.Click
        WebBrowser.Show()
        WebBrowser.WebBrowser1.Navigate("www.carsonmap.com/hidalgo/login.cfm")
        WebBrowser.WebBrowser1.Document.GetElementById("UserName").SetAttribute("value", "lrgvdc")
        WebBrowser.WebBrowser1.Document.GetElementById("PW").SetAttribute("value", WebBrowser.TextBox2.Text)
    End Sub

我需要有关此代码的帮助,但我一直收到提示为 Null Reference 的错误。

我从这个 Youtube 视频中得到了这个想法,看看我想要完成什么。

https://www.youtube.com/watch?v=9EJXzWasTq4&list=PL42055376AE25291E&index=41 他们使用两个按钮进入网站我试图进入网站通过使用一个按钮任何想法为什么它不起作用。

【问题讨论】:

  • 哪一行会报错?带有WebBrowser.Show()的那个?
  • 它在 webbrowser.webbrowser1.document.getelementbyid("UserName").SetAttribute("value", "lrgvdc") 中抛出错误

标签: vb.net


【解决方案1】:

当您使用WebBrowser1.Navigate - 它刚刚开始加载文档时,该文档不可用。

您需要使用WebBrowser.DocumentCompleted Event 来放置适用于文档元素的代码。例如。像

Private Sub Button3_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button3.Click
  WebBrowser.Show()
  WebBrowser.WebBrowser1.Navigate("www.carsonmap.com/hidalgo/login.cfm")
End Sub



Private Sub WebBrowser1_DocumentCompleted(ByVal sender As Object, _
    ByVal e As WebBrowserDocumentCompletedEventArgs) Handles WebBrowser1.DocumentCompleted

  WebBrowser.WebBrowser1.Document.GetElementById("UserName").SetAttribute("value", "lrgvdc")
  WebBrowser.WebBrowser1.Document.GetElementById("PW").SetAttribute("value",    WebBrowser.TextBox2.Text)

End Sub

【讨论】:

  • 但它确实以称为 webbrowser 的第二种形式加载文档。我可以手动将内容输入网站。但它不会自动完成。
  • 您的代码执行得更快,控制加载文档。发出这些命令时,Document simple 尚未准备好
  • @user2270667 这是正确答案,您必须等待文档完全加载完成才能访问它。
  • 感谢 Yuriy Galanter,它确实有效。这就是他们所说的实例吗?
  • @user2270667 不,当从类以编程方式创建控件时,该实例才有意义。事实并非如此。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-01-07
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2023-03-29
相关资源
最近更新 更多