Newsgroup: it.comp.lang.visual-basic
Titolo: VB6 e html

Salve a tutto il NG
per poter accedere ad un campo html e scriverci dentro scrivo:
Dim d As IHTMLDocument
Set d = WebBrowser1.Document
d.getElementById("nomecampo").Value = "abcd"
se invece voglio prendere un valore che si trova in un tag html e scriverlo 
in una variabile, come devo fare? 

 in una variabile, come devo fare?
Non conosco il webrowser .. ma prova a vedere come ho fatto io
con google e InternetExplorer.application
stext1 = objIE.document.all.q.Value
  Msgbox stext1
tutto qui :
http://snipurl.com/pn6g
scarica questo che ti puo esere utile :
http://www.filegone.com/o5ok
PS:
come detto sempra simile prova con un :
stext1 = d.getElementById("nomecampo").Value
  Msgbox stext1
--
Fosco

  Msgbox stext1
con le soluzioni che mi hai dato sopra non sono riuscito ad ottenere ciň che 
mi serviva:-(
Attualmente per riempire alcuni campi in pagine web uso
Dim d As IHTMLDocument
Set d = WebBrowser1.Document
d.getElementById("nomecampo").Value = "abcd"
Ora invece voglio prelevare delle info da questo tag<div class="txtbig">
            Testo:
            <b>Valore</b>
</div>'Testo' č il label, mentre 'Valore' č l'informazione che a me 
interessa mettere in una textbox e usando quanto mi hai scritto sopra mi da 
errore, perchč non trova niente 

             <b>Valore</b>
NON ho mai usato il webrowser e neanche mi e' "simpatico" lo scripting
di pagine web .. ho solo usato l'essenziale che ogni tanto mi serviva senza
approfondire
Inanzitutto bisogna capire se vuoi adoperare ESCLUSIVAMENTE  Visual Basic
o se ti andrebbero bene anche soluzioni diverse
Se non e' un segreto sarebbe anche utile il link con quello che esattamente
vuoi ottenere
cosi sulla carta e facendolo con internetexplorer.application
lo farei come ti ho gia' mostrato con google
questo e' l'esempio in vbs che mi e' piu facile :
Set objIE = CreateObject("InternetExplorer.application")
    objIE.Visible = True
    objIE.Navigate "
http://google.it/
"
     Do While objIE.Busy = True
        WScript.Sleep 50
     Loop
     msgbox "metti qualcosa nella barra ricerca"
WScript.Sleep 5000  ' metti un mome qualsiasi nella barra di ricerca
  stext1 = objIE.document.all.q.Value
  Msgbox stext1
' lancialo metti per esempio CIAO nella barra e vedi cosa restituisce
' il webrowser sembra simile
' come vedi sopra  quello che a noi serve e' Q  di qui prenderemo la value
qiando hai capito questo concetto poi puoi fare lo stesso
 scarica e lancia questo :  (lasciaci il google che c'e' gia')
http://www.filegone.com/o5ok
nell'ultima pagina web che si aprira' vedrai proprio la struttura che c'e'
anche  q   :  esempio VB come detto qui NON ho la possibilita di
provarlo e i messagebox potrebbero comportarsi in maniera strana
ma cosi puoi provare direttamente copiando TUTTO su un form VB
e capendo il concetto di tutto :
Private Declare Sub Sleep Lib "kernel32" _
(ByVal dwMilliseconds As Long)
Private Sub Form_Load()
    Dim objIE As Object
Set objIE = CreateObject("InternetExplorer.application")
    objIE.Visible = True
    objIE.Navigate "
http://google.it/
"
     Do While objIE.Busy = True
    Sleep (50)
     Loop
     Sleep (1000)
     MsgBox "metti qualcosa nella barra ricerca"
   Debug.Print "metti qualcosa nella barra ricerca"
Sleep (5000)  ' metti un nome nella barra di ricerca
'procedura mista name/index
  stext1 = objIE.document.Forms.Item(0).q.Value
 ''''' 'stext2 = objIE.document.forms.form.q.Value
  ' stessa procedura con  tutto index
  stext2 = objIE.document.Forms.Item(0).Item(1).Value
 'TUTTO name
' come vedi dalla prima pagina risultanti col wowww.exe il Name
' del form che ci interessa e' F  per qui :
 stext3 = objIE.document.All.f.q.Value
  MsgBox stext1
   MsgBox stext2
   MsgBox stext3
End Sub
'qui c'e un esempio col webrowser
http://www.swissdelphicenter.ch/torry/showcode.php?id=1847
--
Fosco

 "asterix"
' stesso esempio in VBS se quello VB non dovesse funzionare :
Set objIE = CreateObject("InternetExplorer.application")
    objIE.Visible = True
    objIE.Navigate "
http://google.it/
"
     Do While objIE.Busy = True
        WScript.Sleep 50
     Loop
     WScript.Sleep 1000
     msgbox "NON fare niente clicca SOLO su OK"
      WScript.Sleep 1000
 ' setto la value di >>>>>> Q
objIE.document.forms.item(0).q.Value="Ciao"
 WScript.Sleep 2000  ' NON fare niente
'procedura mista ByName/ByIndex
  stext1 = objIE.document.forms.item(0).q.Value
    ' stessa procedura con  tutto index
  stext2 = objIE.document.forms.item(0).item(1).Value
 'TUTTO name
' come vedi dalla prima pagina risultanti col wowww.exe il Name
' del form che ci interessa e' F  per qui :
 stext3 = objIE.document.all.f.q.Value
  Msgbox " Procedura Mista  " & stext1
   Msgbox "TUTTO By Inex  " & stext2
   msgbox "TUTTO  By Name  " & stext3
    WScript.Sleep 2000
   Msgbox "Clicco su Cerca NON fare niente"
   objIE.document.all.btnG.Click
'Copia incolla su notepad e salva con estensione .vbs
'tutti i file (*.*)  poi ci clicchi sopra. (per esempio Test.vbs)
'se ti da' errore disattiva l'antivirus
--
Fosco

 lo farei come ti ho gia' mostrato con google
A me interessa potermi loggare alla mia banca, cosa che ho fatto, e 
recuperare per esempio il saldo
Perņ al momento la prova la sto facendo per esempio con il sito della Tre 
per sapere il credito della mia sim, in quanto ho visto che l'htm delle 
pagine sono simili, anche se alla fine capito bene il meccanismo poi il 
discorso lo si puņ estendere ad altre pagine simili
L'esempio in VB non funziona cmq 

 L'esempio in VB non funziona cmq
NON FUNZIONA  non e' un argomento valido .. si spiega anche
cosa e come .. cominque l'ho appena provato e funziona
Ho riletto tutto il thred il concetto e gli strumenti per farlo te li ho
dati .. adesso devi impegnarti ad usarli tu il Real Mode
Su alcuni siti (la banca) potrebbero esserci maggiori difficolta sia
per privacy che magari perche' il sito e' https
--
Fosco

"asterix"
se vuoi continuare la discusiione vai su it.test news:it.test ed accodati
al thread  webrowser
http://snipurl.com/prk3
--
Fosco

 da errore, perchè non trova niente
Non puoi.
Semplicemente, siccome il DIV non ha un attributo ID non puoi trovarlo con 
la getElementById.
Se la pagina in questione non cambia molto spesso, la cosa piu' semplice che 
puoi fare e':
- aprire la pagina con il notepad
- trovare un qualsiasi tag che abbia l'ID od il Name, possibilmente vicina 
al tag che ti interessa.
- usare i metodi nextsibling, previoussibling, etc. per definire un percorso 
che ti porti dal tag con l'id al tag che vuoi recuperare.

 percorso che ti porti dal tag con l'id al tag che vuoi recuperare.
Grazie mille
mi potresti dire come posso prendere tutta la pagina html, metterla in un 
notepad e ricercare una stringa specifica?
Grazie in anticipo 

 notepad e ricercare una stringa specifica?
A mano? 


mi sono espresso male
a me interessa caricare una pagina
prendere il codice html, ed eseguire una ricerca se esiste una sottostringa, 
il tutto in esecuzione dell'applicazione 

 sottostringa, il tutto in esecuzione dell'applicazione
Il modo piu veloce č usare un controllo internet transfer a cui fai aprire 
la pagina, salvandoti/parsandoti il risultato
es
Text1.Text = Inet1.OpenURL("
www.google.it
")
Ciao Alex