Buongiorno a tutti,
premesso che sono un super principiante volevo chiedere un aiuto per quanto segue.
Sono un libraio e mi diletto sul pc. Seguendo i vari post e in varie ricerche su google sono riuscito a scrivere alcune righe in VBA . Avevo la necessità di estrarre la descrizione di un libro su una casella excel da una pagina web. Per far ciò ho scritto questo:
Ho inserito due indirizzi di libri dallo stesso sito che possono sembrare uguali; nel primo indirizzo url1 la macro restituisce la descrizione del libro, mentre se si girare la macro con url2, anche se la descrizione esiste sul sito, la macro non trova nulla (faccio restituire la scritta "Descr. non trovata").codice:Sub estrazioneDescrizione1() Dim descrString As String Dim allTag As Object Dim url1 As String Dim url2 As String url1 = "https://www.mondadoristore.it/*/eai978883044827" url2 = "https://www.mondadoristore.it/*/eai978880468543" Cells(1, 1) = "" 'pulisco la cella Set ie = CreateObject("InternetExplorer.Application") ie.Navigate (url1) ie.Visible = True 'aspetto che la pagina si carichi... Do DoEvents Loop Until ie.ReadyState = 4 Set allTag = ie.document.getElementsByTagName("p") For Each ptag In allTag If (ptag.classname = ("text") And ptag.GetAttribute("itemprop") = "description") Then descrString = ptag.innerText If descrString = "" Then Cells(1, 1) = "Descr. non trovata" Exit For End If Cells(1, 1) = descrString Exit For End If Next ie.Quit Set ie = Nothing End Sub
Ora analizzando la sorgente mi accorgo che nel secondo caso c'è del testo formattato e la macro non mi restituisce nulla. differenze1.jpg
Sapreste indirizzarmi o suggerirmi sul da farsi o se il mio codice può essere migliorato.
Grazie

Rispondi quotando