正如标题所说,我怎么知道gecko浏览器是否完成了加载网页? 我知道有document_completed事件。但是每次加载网页时都会触发它。 有没有其他方法可以检查当前网页是否已完成加载。
答案 0 :(得分:0)
Do While WebBrowser.IsBusy = True
Application.DoEvents()
Loop
适合我。在WebBrowser.Navigate
成为IsBusy
True
之后
答案 1 :(得分:0)
我在vb.net和GeckoFX v45.0.34.0中的独奏,您可以使用此工具将其转换为c#(http://converter.telerik.com/):
Private vWeb As GeckoWebBrowser = New GeckoWebBrowser
Private Property pageready As Boolean = False
Private Sub WaitForPageLoad()
AddHandler vWeb.DocumentCompleted, New EventHandler(Of GeckoDocumentCompletedEventArgs)(AddressOf PageWaiter)
While Not pageready
Application.DoEvents()
End While
pageready = False
End Sub
Private Sub PageWaiter(ByVal sender As Object, ByVal e As GeckoDocumentCompletedEventArgs)
If vWeb.IsBusy = False Then
pageready = True
RemoveHandler vWeb.DocumentCompleted, New EventHandler(Of GeckoDocumentCompletedEventArgs)(AddressOf PageWaiter)
End If
End Sub
使用:
vWeb.Navigate("https://www.google.com")
WaitForPageLoad()
//Do your Work
希望此解决方案能够解决。