Italian B4J / B4A - Come eseguire login ed andare su un certo ordine acquisto Amazon?

amorosik

Expert
Licensed User
Su sistema gestionale B4J vorrei associare ad ogni acquisto un campo 'percorso_ordine_acquisto' contenente le istruzioni per eseguire il login su Amazon ed il posizionamento sull'ordine richiesto
Non parlo di documenti registrati e presenti nel sistema locale ma intendo proprio il posizionamento di un browser web sull'ordine Amazon n. AB-01020304-CDE (come da link memorizzato sul sistema gestionale)
Vedrei due problemi principali, passare il login ed andare sull'ordine richiesto
Come fare?
 

tigrot

Well-Known Member
Licensed User
Longtime User
È un problema che ho risolto quando ho interfacciato sistemi di query remoto come ad esempio le liste degli albi professionali. Chiamo la pagina web, mimico l'introduzione dati nei campi user e password. Cerco a mezzo della stessa tecnica di arrivare alla pagina necessaria per la richiesta del dato.
Non è immediato ma ci si riesce.
Buon lavoro
 

amorosik

Expert
Licensed User
Puoi indicare qualche esempio da seguire?
È un problema che ho risolto quando ho interfacciato sistemi di query remoto come ad esempio le liste degli albi professionali. Chiamo la pagina web, mimico l'introduzione dati nei campi user e password. Cerco a mezzo della stessa tecnica di arrivare alla pagina necessaria per la richiesta del dato.
Non è immediato ma ci si riesce.
Buon lavoro

Puoi indicare qualche esempio da seguire?
 

sirjo66

Well-Known Member
Licensed User
Longtime User
esempi in giro ne trovi pochi
io finora ho fatto parecchi programmi proprio su questo genere, che simulano cioè la navigazione su internet, eseguono login e cose del genere, analizzano le pagine del risultato ed estraggono i dati in essa contenuti, sia su windows (linguaggio VB.NET) sia con B4A

purtroppo B4J non l'ho mai usato e non saprei come fare
 

tigrot

Well-Known Member
Licensed User
Longtime User
esempi in giro ne trovi pochi
io finora ho fatto parecchi programmi proprio su questo genere, che simulano cioè la navigazione su internet, eseguono login e cose del genere, analizzano le pagine del risultato ed estraggono i dati in essa contenuti, sia su windows (linguaggio VB.NET) sia con B4A

purtroppo B4J non l'ho mai usato e non saprei come fare
Stessa strada nella mia software house.
 

amorosik

Expert
Licensed User
esempi in giro ne trovi pochi
io finora ho fatto parecchi programmi proprio su questo genere, che simulano cioè la navigazione su internet, eseguono login e cose del genere, analizzano le pagine del risultato ed estraggono i dati in essa contenuti, sia su windows (linguaggio VB.NET) sia con B4A

purtroppo B4J non l'ho mai usato e non saprei come fare

E' possibile vedere qualche esempio per B4A ?
 

sirjo66

Well-Known Member
Licensed User
Longtime User
avevo fatto un esempio per @LucaMs (almeno mi sembra che era lui) per ricavarsi dei dati da un sito, prova a vedere se lo trovi qui sul forum oppure chiediamogli se ha ancora l'esempio

Comunque, in linea di massima, devi installare la libreria WebViewExtras2 (io ho la versione 2.20), e poi eccoti un esempio di login
B4X:
    Dim wv As WebView
    Dim wve As WebViewExtras
    Dim ji As DefaultJavascriptInterface
B4X:
    ' inizializzazione dei componenti
    wv.Initialize("wv")
    Activity.AddView(wv, 0, 0, 100%x, 100%y)
    wv.JavaScriptEnabled = True
    wv.ZoomEnabled = False
   
    wve.Initialize(wv)
    wve.JavaScriptEnabled = True
    ji.Initialize
    wve.AddJavascriptInterface(ji, "B4A")

    ' navigo sul sito dove c'è il login
    wv.LoadUrl("http://www.ilmiositobellissimo.it/login.php")
    Wait For wv_PageFinished(Url As String) ' attendo che la pagina venga caricata completamente

    ' per interagire con il codice HTML presente nella pagina si deve utilizzare il JavaScript
    wve.ExecuteJavascript($"
        document.getElementById('username').setAttribute('value','Pippo');
        document.getElementById('password').setAttribute('value','laMiaPassword');
        document.getElementById('bottoneSubmit').click();
    "$)
    Wait For wv_PageFinished(Url As String) ' attendo che la pagina si ricarichi

    ' login effettuato, ora faccio altro ..........
 
Last edited:
Top