Auto Inspect google chrome

di il
7 risposte

Auto Inspect google chrome

Buongiorno a tutti,
mi servrebbe automatizzare, se possibile da VB, l'ispezione di un elemento html in una pagina web aperta da chrome...
attenzione, NON tramite un webbrowser.

in sostanza, automatizzare il "tasto destro - ispeziona" in un sito web, ma tramite codice...

grazie

7 Risposte

  • Re: Auto Inspect google chrome

    999daniele ha scritto:


    in sostanza, automatizzare il "tasto destro - ispeziona" in un sito web, ma tramite codice...
    Definisci "automatizzare": è sufficiente simulare il clic o c'è altro? qual è lo scopo da ottenere?
  • Re: Auto Inspect google chrome

    Ciao,
    alla simulazione del click e poi alla copia del codice html (sempre tramite clic simulati) ci sono già arrivato e funziona perfettamente...
    è che a me servirebbe ottenere l'html completo di una sezione specifica della pagina (ogni tot con un timer), ma in bakcground, senza simulare click..

    lo scopo è appunto ottenere l'html completo (per capirci quello che ottieni con l'ispeziona di chrome) di una sezione di una pagina web...mi serve per una piattarofma di trading crypto
  • Re: Auto Inspect google chrome

    Queste cose si fanno lato client direttamente dentro il browser, in JavaScript
  • Re: Auto Inspect google chrome

    Ad esempio come?
  • Re: Auto Inspect google chrome

    Se lo vuoi fare da VB.Net, puoi caricare l'intero HTML della pagina, ma solo dopo che si è dinamicamente composta, visto che è un sito di trading, ci saranno degli scripts che dovranno essere completati prima di mostrare la pagina completa e se hai provato con WebBrowser, avrai fallito.
    In VB.Net si possono usare le dll di MozillaFirefox, basta importare il pacchetto: Geckofx45 usando la sezione di VS gestisci pacchetti NuGet.
    Una volta importato il pacchetto, quando sei in progettazione, avrai lo strumento GeckoWebBrowser:
    Gecko.png
    Gecko.png


    GeckoWebBrowser si usa come WebBrowser, ma quando si scatena l'evento DocumentCompleted, gli sripts saranno stati tutti caricati nel server interrogato.
    
    Public Sub GeckoWebBrowser_DocumentComplete(sender As Object, e As EventArgs) Handles GeckoWebBrowser.DocumentCompleted
    
            ' la pagina si è caricata completamente, deve essere compilato l'HTML dinamico
    
            Label1.Text = "Sito caricato..."
            Timer1.Interval = 1000 ' tempo abbondante anche per siti con molti scripts da tradurre
            Timer1.Enabled = True ' il codice in Timer3 viene eseguito in ritardo (tipo Sleep)
    
    End Sub
    
    GeckoWebBrowser nel PC locale li dovrà tradurre in HTML, per cui l'istruzione che legge l'HTML è meglio che stia dentro a un timer, o dopo uno Sleep():
    
    Private Sub Timer1_Tick(sender As Object, e As EventArgs) Handles Timer1.Tick
    	Timer1.Enabled = False
    	HTMLletto = GeckoWebBrowser.Document.GetElementsByTagName("html")(0).InnerHtml ' carico l'HTML in HTMLletto
    End Sub
    
    Una volta ricevuto tutto l'HTML, per trovare i dati di interesse si possono usare le istruzioni apposite, oppure se si conosce l'identificativo univoco del dato di interesse, basta usare IndexOf:
    
    Dim pos1 As Integer = HTMLletto.IndexOf(">VALUTA BITCOIN ", 1)
    
    Se i dati da leggere sono più di uno e in sequenza con lo stesso identificativo, è sufficiente un ciclo che aggiorna la posizione di ricerca.
    Ma forse questo fa parte di un'ulteriore domanda.
  • Re: Auto Inspect google chrome

    Ciao, intanto grazie per la risposta...
    si la dll di Geckofx45 la conosco bene e l'ho usata più volte...

    il problema è che il sito che devo caricare io, contiene degli script che con il webbrowser di geckofx e anche ad esempio chefsharp, non vengono caricati correttamente e questo mi taglia completamente l'utilizzo del webbrowser...

    l'ideale sarebbe poter leggere l'html della pagina ma non da webbrowser e passando direttamente l'url del sito...ma non ho ancora capito come fare...

    la soluzione che ho trovato è utilizzare un estensione di chrome che mi salva l'html in locale per poi essere analizzato da vb. ma sarebbe bello poterlo fare direttamente da vb
  • Re: Auto Inspect google chrome

    Se Mozilla il sito lo carica e visualizza il dato, deve funzionare anche Geckofx45...
    Hai controllato l'HTML del sito con Mozilla entrando nell'editor con F12?
Devi accedere o registrarti per scrivere nel forum
7 risposte