Oppure

Loading
26/12/09 19:30
osi94
Postato originariamente da GrG:

Postato originariamente da osi94:
Form2.WebBrowser1.Navigate (Form1.WebBrowser1.Document.getElementById("code_img";).src)


Questo codice è giusto, solo che a me dice "carattere non valido"... ho controllato a mano, se metto:

dim url as string
url = Form1.WebBrowser1.Document.getElementById("code_img";).src
text1.text = url

e poi mando il browser all'url indicato nel textbox mi da errore uguale... ma se io cancello e riscrivo l'ultima cifra funziona (non so il perchè;) quindi se ho:

...892

così non va bene, se cancello il 2 e ce lo riscrivo (quindi l'url all'apparenza non cambia) funziona :-|

Vedi se a te funziona altrimenti dimmi cosa non va, se hai il mio stesso problema cercherò di risolverlo anche se è difficile visto che "il carattere" che da fastidio al browser in realtà non esiste...


Quando faccio quello che mi hai detto tu, mi mette l'url del captcha nella textbox e non è quello che voglio fare.
Io voglio mettere l'immagine del captcha in un webbrowser (o se non si può fare, in un image), facendo in modo che l'utente possa mettere comodamente i caratteri del captcha in una textbox.
Ultima modifica effettuata da osi94 26/12/09 19:31
aaa
26/12/09 20:12
GrG
però al posto di scaricare l'immagine (che puoi fare usando inet) e di visualizzarla fai prima a visualizzarla direttamente dal webbrowser, e avendo l'utl non dovresti avere problemi a fare un webbrowser.Navigate ... poi a me da errore, ma questo non dipende dal codice ma dal webbrowser, magari a te funziona
aaa
26/12/09 20:56
osi94
Postato originariamente da GrG:

però al posto di scaricare l'immagine (che puoi fare usando inet) e di visualizzarla fai prima a visualizzarla direttamente dal webbrowser, e avendo l'utl non dovresti avere problemi a fare un webbrowser.Navigate ... poi a me da errore, ma questo non dipende dal codice ma dal webbrowser, magari a te funziona


Non posso fare Webbrowser2.Navigate "altervista.it/…; perchè il captcha è dinamico.
Mi posti il codice per scaricare direttamente l'immagine? Mi accontento di questo, dato che non ci sono altre soluzioni.
Grazie :D
aaa
26/12/09 20:58
GrG
invece lo puoi fare, dalle prove che ho fatto il codice rimane sempre lo stesso
aaa
26/12/09 21:33
osi94
Postato originariamente da GrG:

invece lo puoi fare, dalle prove che ho fatto il codice rimane sempre lo stesso


Io ho provato e mi cambia :-|, comunque mi dai il codice per scaricare l'immagine?
Grazie
aaa
27/12/09 11:42
GrG
Per scaricare l'immagine devi usare inet, ecco una sub:
Public Sub DownloadBinaryFile(strSourceFile As String, strDestinationFile As String)
Dim bytInputData() As Byte
Dim IntNumberFile As Integer
bytInputData() = Inet1.OpenURL(strSourceFile, icByteArray)
IntNumberFile = FreeFile
Open strDestinationFile For Binary As #IntNumberFile
Put #IntNumberFile, , bytInputData()
Close #IntNumberFile
End Sub


Ma comunque (dalle prove che ho fatto io) l'immagine cambia lo stesso..

Invece ho notato che quando carico la pagina con l'activex webbrowser e ricavo un certo url se mi collego a questo url usando sempre l'activex webbrowser (ma un'altro, cioè uan "copia";) il codice è sempre quello, e siccome il webbrowser si basa su IE anche se apro IE e digito quell'url il codice non cambia, ma se lo metto su Mozilla Firefox il codice cambia, ma se apro un'altra scheda e rivado a quel'url o se riaggiorno la pagina anche se diverso da quello di IE rimane sempre lo stesso (e non è la cache, perchè quella l'ho sempre svuotata nel fare le prove) quindi secondo me devi in qualche modo sfruttare questa cosa qui...

In poche parole devi studiarti il funzionamento di quel captcha e capire come copiarlo...

In questa discussione un altro utente aveva un problema simile al tuo...
forum.html.it/forum/showthread/…
aaa
27/12/09 15:11
osi94
Postato originariamente da GrG:

Per scaricare l'immagine devi usare inet, ecco una sub:
Public Sub DownloadBinaryFile(strSourceFile As String, strDestinationFile As String)
Dim bytInputData() As Byte
Dim IntNumberFile As Integer
bytInputData() = Inet1.OpenURL(strSourceFile, icByteArray)
IntNumberFile = FreeFile
Open strDestinationFile For Binary As #IntNumberFile
Put #IntNumberFile, , bytInputData()
Close #IntNumberFile
End Sub


Ma comunque (dalle prove che ho fatto io) l'immagine cambia lo stesso..

Invece ho notato che quando carico la pagina con l'activex webbrowser e ricavo un certo url se mi collego a questo url usando sempre l'activex webbrowser (ma un'altro, cioè uan "copia";) il codice è sempre quello, e siccome il webbrowser si basa su IE anche se apro IE e digito quell'url il codice non cambia, ma se lo metto su Mozilla Firefox il codice cambia, ma se apro un'altra scheda e rivado a quel'url o se riaggiorno la pagina anche se diverso da quello di IE rimane sempre lo stesso (e non è la cache, perchè quella l'ho sempre svuotata nel fare le prove) quindi secondo me devi in qualche modo sfruttare questa cosa qui...

In poche parole devi studiarti il funzionamento di quel captcha e capire come copiarlo...

In questa discussione un altro utente aveva un problema simile al tuo...
forum.html.it/forum/showthread/…


Grazie.
Ti rompo le scatole un ultima volta:
Con questo codice di prova mi scarica l'immagine direttamente sul desktop :
DownloadFile("google.it/intl/it_it/images/…;, "C:\Documents and Settings\All Users\Desktop\google.jpg";) e per scaricare un immagine che è nel webbrowser, come potrei fare?
Grazie :k:
aaa
27/12/09 19:48
GrG
Fai così:
DownloadFile(WebBrowser1.Document.getElementById("code_img";).src, "C:\Documents and Settings\All Users\Desktop\google.jpg";)

oppure c'è un altro metodo (che è equivalente) ... ossia usando: webbrowser1.document.images(x).src dove x è il numero dell'immagine nel tuo caso l'immagine captcha si trova al "6° posto" cioè il suo numero è 6 quindi puoi anche usare:

DownloadFile(WebBrowser1.Document.images(6).src, "C:\Documents and Settings\All Users\Desktop\google.jpg";)
aaa