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

amorosik

Well-Known Member
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
È 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

Well-Known Member
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
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
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

Well-Known Member
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
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