【问题标题】:how to know if gecko browser completed loading a webpage?如何知道壁虎浏览器是否完成了网页加载?
【发布时间】:2015-10-14 04:07:00
【问题描述】:

正如标题所说,我如何知道壁虎浏览器是否完成了网页加载? 我知道有 document_completed 事件。但是每次加载网页时都会触发它。 有没有其他方法可以检查当前网页是否加载完成。

【问题讨论】:

    标签: c# .net gecko geckofx


    【解决方案1】:

    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
    

    希望这个解决方案能够解决。

    【讨论】:

      【解决方案2】:
      Do While WebBrowser.IsBusy = True
      Application.DoEvents()
      Loop
      

      为我工作。在WebBrowser.Navigate 之后,您必须等待一段时间(我使用1 秒),然后IsBusy 才能变为True

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2011-04-17
        • 1970-01-01
        • 1970-01-01
        • 2022-01-15
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2014-09-14
        相关资源
        最近更新 更多