Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

VB6 e html

130 views
Skip to first unread message

asterix

unread,
Apr 24, 2006, 1:36:27 PM4/24/06
to
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?


Fosco

unread,
Apr 25, 2006, 2:47:34 AM4/25/06
to
"asterix"

> 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?

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


asterix

unread,
Apr 26, 2006, 3:53:03 AM4/26/06
to

> stext1 = d.getElementById("nomecampo").Value
> 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


Fosco

unread,
Apr 26, 2006, 10:25:30 PM4/26/06
to
"asterix"

> Attualmente per riempire alcuni campi in pagine web uso
> 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>

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


Fosco

unread,
Apr 26, 2006, 10:42:45 PM4/26/06
to
"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

asterix

unread,
Apr 27, 2006, 6:47:41 AM4/27/06
to

> Inanzitutto bisogna capire se vuoi adoperare ESCLUSIVAMENTE Visual Basic
> o se ti andrebbero bene anche soluzioni diverse

Va bene qualsiasi cosa, anche se preferisco VB, in quanto VBS non so ancora
bene come inserirlo

> 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

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


Fosco

unread,
Apr 27, 2006, 9:38:11 PM4/27/06
to
"asterix"

> 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

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


Fosco

unread,
Apr 27, 2006, 9:50:07 PM4/27/06
to
"asterix"

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

--
Fosco


Drizzt

unread,
Apr 28, 2006, 2:43:49 AM4/28/06
to
"asterix" <asterix20...@libero.it> ha scritto nel messaggio
news:444f26dc$0$29720$4faf...@reader2.news.tin.it...

> 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

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.


asterix

unread,
May 1, 2006, 4:59:03 AM5/1/06
to
> 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.


Grazie mille
mi potresti dire come posso prendere tutta la pagina html, metterla in un
notepad e ricercare una stringa specifica?

Grazie in anticipo


Drizzt

unread,
May 1, 2006, 5:57:29 AM5/1/06
to
"asterix" <asterix20...@libero.it> ha scritto nel messaggio
news:4455cdd7$0$18289$4faf...@reader1.news.tin.it...

>> - 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.
>
>
> Grazie mille
> mi potresti dire come posso prendere tutta la pagina html, metterla in un
> notepad e ricercare una stringa specifica?

A mano?


asterix

unread,
May 1, 2006, 1:26:29 PM5/1/06
to

>> Grazie mille
>> mi potresti dire come posso prendere tutta la pagina html, metterla in un
>> 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


Alexandro

unread,
May 11, 2006, 8:14:08 AM5/11/06
to
> 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

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


0 new messages