.NET 2010中Control.Webbrowser的事件问题
我的控制有问题。我无法检测何时完全加载(网页完全加载)。另一个问题是,当它更改网页时,会转到同一个事件,并且会产生很多错误,我无法控制它。 下面是产生问题的代码行.NET 2010中Control.Webbrowser的事件问题,.net,vb.net,visual-studio-2010,visual-studio,.net,Vb.net,Visual Studio 2010,Visual Studio,我的控制有问题。我无法检测何时完全加载(网页完全加载)。另一个问题是,当它更改网页时,会转到同一个事件,并且会产生很多错误,我无法控制它。 下面是产生问题的代码行 AddHandler browser.DocumentCompleted, AddressOf pageLoaded browser.Navigate("Web Address") 此处是其pageLoaded Sub: Private Sub pageLoaded(ByVal sender As Object, By
AddHandler browser.DocumentCompleted, AddressOf pageLoaded
browser.Navigate("Web Address")
此处是其pageLoaded Sub:
Private Sub pageLoaded(ByVal sender As Object, ByVal e As WebBrowserDocumentCompletedEventArgs) Handles browser.DocumentCompleted
Dim autoHotkey As New Process()
browser.Document.GetElementById("j_username").InnerText = "USER"
browser.Document.GetElementById("j_password").InnerText = "PASS"
browser.Document.GetElementById("loginbutton").InvokeMember("Click")
System.Threading.Thread.Sleep(5000)
MsgBox(My.Application.Info.DirectoryPath & "\aceptarAlerta.exe")
autoHotkey.StartInfo.FileName = My.Application.Info.DirectoryPath & "\aceptarAlerta.exe"
autoHotkey.Start()
autoHotkey.Close()
autoHotkey.Dispose()
End Sub
它总是不停地运行和出错,因为我更改了网页,它找不到这些id
谢谢你的帮助。我用过这个,它很管用
Private Property paginaLista As Boolean = False
Private Sub WaitForPageLoad()
AddHandler browser.DocumentCompleted, New WebBrowserDocumentCompletedEventHandler(AddressOf PageWaiter)
While Not paginaLista
Application.DoEvents()
End While
paginaLista = False
End Sub
Private Sub PageWaiter(ByVal sender As Object, ByVal e As WebBrowserDocumentCompletedEventArgs)
If browser.ReadyState = WebBrowserReadyState.Complete Then
paginaLista = True
RemoveHandler browser.DocumentCompleted, New WebBrowserDocumentCompletedEventHandler(AddressOf PageWaiter)
End If
End Sub