【发布时间】:2009-09-10 18:02:52
【问题描述】:
我正在使用网络浏览器控件登录网站。
WbBrowser.Navigate("http://www.foo.com/login.php")
加载页面后,我使用以下代码登录
While WbBrowser.ReadyState <> WebBrowserReadyState.Complete
Application.DoEvents()
End While
WbBrowser.Document.GetElementById("user_login").SetAttribute("Value", "username")
WbBrowser.Document.GetElementById("user_pass").SetAttribute("Value", "password")
WbBrowser.Document.Forms("loginform").InvokeMember("submit")
这很好用。成功登录后,我必须导航到另一个页面。仅当登录正确时才会发生这种情况。这里的问题是,当登录页面被加载时,webbrowser 控件的就绪状态变得完整,甚至在我登录到网站之前,下一行代码被执行并导致错误,因为我没有登录。
WbBrowser.Navigate("http://www.foo.com/page2.php")
如何让我的应用程序等待登录完成,然后执行上面的代码行。有什么想法吗?
【问题讨论】:
-
这是用于 NUnit 可以处理的 QA 工作,还是用于需要打开链接的控制台应用程序?
-
这是我的个人项目。它不是控制台应用程序。
标签: .net vb.net webbrowser-control