Visualizzazione dei risultati da 1 a 4 su 4
  1. #1
    Utente di HTML.it
    Registrato dal
    Mar 2014
    Messaggi
    131

    VB.NET - Problemi con estrazione dati - Webbrowser (estrae solo l'ultimo valore)

    Salve a tutti.
    Devo estrarre dei dati da una pagina tramite il webbrowser.
    Vi è un problema, quando faccio l'estrazione mi restituisce solo l'ultimo valore, non tutti.

    Uso questo codice:

    codice:
        Public Sub EstrazioneDati()
    
    
            For Each ele As HtmlElement In WebBrowser1.Document.GetElementsByTagName("span")
                If ele.GetAttribute("className").Contains("prova") Then
                    Dim content As String = ele.InnerText
                    TextBox1.Text = ele.InnerText
                End If
            Next
    
    
            For Each ele As HtmlElement In WebBrowser1.Document.GetElementsByTagName("span")
                If ele.GetAttribute("className").Contains("prova2") Then
                    Dim content As String = ele.InnerText
                    TextBox2.Text = ele.InnerText
                End If
            Next
    
    
            For Each ele As HtmlElement In WebBrowser1.Document.GetElementsByTagName("div")
                If ele.GetAttribute("className").Contains("prova3") Then
                    Dim content As String = ele.InnerText
                    TextBox3.Text = ele.InnerText
                End If
            Next
    
    
            Dim lv As ListViewItem = ListView1.Items.Add(TextBox1.Text)
            lv.SubItems.Add(TextBox2.Text)
            lv.SubItems.Add(TextBox3.Text)
    
    
        End Sub
    Qualcuno sa come rimediare?
    Grazie in anticipo

  2. #2
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,480
    A parte il fatto che la variabile content non ha senso, quando chiami la sub i dati sono tutti disponibili?

    E hai seguito un po' in debug per vedere se le if sono eseguite o no?
    No MP tecnici (non rispondo nemmeno!), usa il forum.

  3. #3
    Utente di HTML.it
    Registrato dal
    Mar 2014
    Messaggi
    131
    Sono riuscito ad estrarre i primi due valori unendo i primi due cicli (hanno lo stesso tag html, span)
    Non riesco ad estrarre il terzo, ha un altro tag (div):

    Uso questo codice:

    Dim lv As ListViewItem

    For Each ele As HtmlElement In WebBrowser1.Document.GetElementsByTagName("span")
    If ele.GetAttribute("className").Contains("prova") Then
    Dim content As String = ele.InnerText
    TextBox1.Text = ele.InnerText


    lv = ListView1.Items.Add(TextBox1.Text)
    TextBox1.Text = ""


    End If


    If ele.GetAttribute("className").Contains("prova2") Then
    Dim content As String = ele.InnerText
    TextBox1.Text = ele.InnerText


    lv.SubItems.Add(TextBox1.Text)
    TextBox1.Text = ""


    End If


    Next


    For Each ele As HtmlElement In WebBrowser1.Document.GetElementsByTagName("div")
    If ele.GetAttribute("className").Contains("prova3") Then
    Dim content As String = ele.InnerText
    TextBox1.Text = ele.InnerText


    lv.SubItems.Add(TextBox1.Text)
    TextBox1.Text = ""


    End If
    Next

  4. #4
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,480
    Ma perché tutto quel giro di variabili e textbox inutili?

    Ti basta

    lv = ListView1.Items.Add(ele.InnerText)

    ad esempio nella prima parte.

    Per il resto bisogna fare la prova con il programma e la url effettiva

    P.S. Utilizza i tag code
    No MP tecnici (non rispondo nemmeno!), usa il forum.

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.