【发布时间】:2015-10-14 04:07:00
【问题描述】:
正如标题所说,我如何知道壁虎浏览器是否完成了网页加载? 我知道有 document_completed 事件。但是每次加载网页时都会触发它。 有没有其他方法可以检查当前网页是否加载完成。
【问题讨论】:
正如标题所说,我如何知道壁虎浏览器是否完成了网页加载? 我知道有 document_completed 事件。但是每次加载网页时都会触发它。 有没有其他方法可以检查当前网页是否加载完成。
【问题讨论】:
My Solotion 在 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
希望这个解决方案能够解决。
【讨论】:
Do While WebBrowser.IsBusy = True
Application.DoEvents()
Loop
为我工作。在WebBrowser.Navigate 之后,您必须等待一段时间(我使用1 秒),然后IsBusy 才能变为True
【讨论】: