Un sito non ti restituisce stringhe di testo, ma una descrizione della pagina html che poi il browser si occupa di trasformare in una pagina leggibile: tag, attributi, valori.
Non conosco le tecniche di programmazione html quindi non so quali circostanze determinano la reazione del server; certamente la risposta varia in funzione del browser che fa la richiesta e del sistema operativo che lo ospita (tant'e' che le statistiche spesso sono divise, oltre che per area geografica anche per tipo di browser o per sistema operativo)
Insomma piu' che altro mi meraviglia che per tanto tempo la ricerca con 1 spazio tra il testo e il "pipe" (|) abbia funzionato, non che ora non funzioni piu'.
Per me il modo pulito di risolvere la faccenda e' trattare la risposta come documento html, quindi andare a cercare i campi delle informazioni che servono tramite i tag e gli attributi html (tipo GetElementsbyTagName, o ..byClassName, o gli altri comandi disponibili nella libreria mshtml.tlb.
Un modo spiccio, che dura finche' va bene, e' di eliminare i doppi spazi all'interno della risposta.
Quindi, all'interno della Function GetText, non
GetText = doc.body.innerText ma
- Codice: Seleziona tutto
GetText = Application.WorksheetFunction.Trim(doc.body.innerText)
Questo elimina qualsiasi "doppio spazio" dalla risposta e quindi fara' funzionare l'originale ricerca con "Prezzo Ultimo Contratto |" (con 1 solo spazio)
Ciao