B4J Question how can if realize if webview is fully loaded

Discussion in 'B4J Questions' started by palang, Nov 8, 2019.

  1. palang

    palang Member Licensed User

    Hi, im try to write some scrapping bot via handy b4j
    i have a small problem, i can not find how to realize if webview is fully loaded
    i do a lot of search and i found a lots of code for b4a but nothing for b4j
    i know both of them are somehow same but i dont know how to use b4a code inside b4j
    is there any technique ? or they are different
  2. Daestrum

    Daestrum Well-Known Member Licensed User

    You can add a changelistener to the loadworker state.

    for example (uses JavaObject library)
    Private fx As JFX
    Private MainForm As Form
    Dim wv As WebView
    Dim engine As JavaObject
    Dim loaded As Object
    End Sub
    Sub AppStart (Form1 As Form, Args() As String)
     MainForm = Form1
    'MainForm.RootPane.LoadLayout("Layout1") 'Load the layout file.
    ' initialize the webview (not needed if from designer)

    ' get the web engine from the webview
     engine = asJO(wv).RunMethodJO("getEngine",Null)

    ' create the event
     loaded = engine.CreateEvent("javafx.beans.value.ChangeListener","pageLoaded",Null)

    ' add the event to the loadworker state 

    ' add webview to mainform etc & get a page 
    End Sub

    Sub pageLoaded_Event (MethodName As String, Args() As Object) As Object
    Dim state As String = Args(2)  ' args(2) contains the info we want
     If state.EqualsIgnoreCase("succeeded"Then
    Log("page loaded"
    End If
    Return Null
    End Sub 
    ' just for creating javaobjects from existing objects
    Sub asJO(o As JavaObjectAs JavaObject
    Return o
    End Sub
    micro likes this.
  1. This site uses cookies to help personalise content, tailor your experience and to keep you logged in if you register.
    By continuing to use this site, you are consenting to our use of cookies.
    Dismiss Notice