ashman (Normal User)
Pro
Messaggi: 71
Iscritto: 03/10/2009
|
ciao a tutti ho un piccolo problema lo esporro come meglio riesco e nella maniera piu sintetica
ex:
wb.Navigate("http://www.google.it") ' un sito vale l'altro per questo ho scelto un sito neutro
wb.Document.DomDocument.forms(0).q.value = "prova"
wb.Document.DomDocument.Forms(0).submit()
con questo codice si apre la pagina internet si inserice prova e si da invio sulla ricerca.
ma il mio problema è che in wb.Document.DomDocument.forms(0).q.value non so che il nome è q o meglio voglio riuscire a mettere al posto di q una variabile (ora inserisco il codice sbagliato ma che fa capire cosa voglio ottenere)
dim variabile As String
variabilie=q
wb.Navigate("http://www.google.it")
wb.Document.DomDocument.forms(0).TRIM(VARIABILE).value = "prova" 'messo in maiuscolo per evidenziare
wb.Document.DomDocument.Forms(0).submit()
il mio secondo codice ovviamente non va ma si capisce che voglio sostituire il nome con una variabile, come posso fare???
Ultima modifica effettuata da ashman il 01/12/2009 alle 13:13 |
|
Mte90 (Member)
Guru
Messaggi: 1144
Iscritto: 25/03/2008
|
non si è capito molto che diavolo è q?
il campo di testo della pagina? una tua variabile?
il tuo esempio ha solo complicato le cose XD
|
|
Il Totem (Admin)
Guru^2
Messaggi: 3635
Iscritto: 24/01/2006
|
Il codice .NET è gestito, quindi perchè vai ad usare un'interfaccia non gestita?
Perchè non provi con:
Codice sorgente - presumibilmente VB.NET |
For Each El As HtmlElement in wb.Document.Forms(0) If El.TagName = "input" And El.Id = "q" Then El.InvokeMember("Submit()") End If Next
|
Non so se funziona, me teoricamente dovrebbe...
|
|
ashman (Normal User)
Pro
Messaggi: 71
Iscritto: 03/10/2009
|
Postato originariamente da Mte90:
non si è capito molto che diavolo è q?
il campo di testo della pagina? una tua variabile?
il tuo esempio ha solo complicato le cose XD |
q è il nome dato da quelli di google per la loro textbox quindi se si da questo codice
wb.Document.DomDocument.forms(0).q.value = "prova"
si ottera la pagina di google con all'interno dove puoi cercare la parola proga
e il mio problema è che non so il nome "q" e voglio gestire quell nome tramite una variabile, posso usare la q solo se ho il nome.
ma come faccio se esempio la pagina internet ha delle textbox con nomi differenti e tramite una richiesta all utente che inserisce il nome della textbox della pagina internet in una textbox del mio programma a sostituire in
wb.Document.DomDocument.forms(0).q'(qui deve andare la mia variabile)'.value = "prova"
al posto della q il valore della mia textbox (dove l'utente ha messo "q" o un altro valore) |
|
Il Totem (Admin)
Guru^2
Messaggi: 3635
Iscritto: 24/01/2006
|
Non hai neanche letto il mio post...
|
|
ashman (Normal User)
Pro
Messaggi: 71
Iscritto: 03/10/2009
|
l'ho letto ma non l'ho capito un gran che quindi ho tardato a rispondere per tentare di arrivarci un po con la logica prima di sparare 1000 domande nabbe
El.InvokeMember("Submit()") al posto posso inserire El.InvokeMember("prova") ?
dopo l'if come faccio a far inserire in quella text box un valore? el.value("prova")?
|
|
Il Totem (Admin)
Guru^2
Messaggi: 3635
Iscritto: 24/01/2006
|
Codice sorgente - presumibilmente VB.NET |
For Each El As HtmlElement In wb.Document.Forms(0) If El.TagName = "input" And El.Id = "q" Then El.InvokeMember("Submit()") End If Next
|
Ho sbagliato: ovviamente submit va fatto invocare al form. Oppure invochi un click sul pulsante submit.
Evidentemente TagName è il nome del tag e Id il suo id. Quindi se cerchi una textbox "prova", cercherai un tag <input> in cui l'id o il nome siano "prova". Se vuoi cambiarne il valore, dovresti provare a modificarne l'attributo value, con El.SetAttribute("value", "ciao"), anche se il risultato potrebbe non essere quello che ti aspetti...
|
|
ashman (Normal User)
Pro
Messaggi: 71
Iscritto: 03/10/2009
|
ho provato e il primo errore che mi da il compilatore è
wb.Document.Forms(0) (se scrivo 0 all'interno ma da errore)
se levo lo 0 e continuo il programma non da risultati io ho inserito il codice in
Private Sub Wb_DocumentCompleted(ByVal sender As System.Object, ByVal e As System.Windows.Forms.WebBrowserDocumentCompletedEventArgs) Handles Wb.DocumentCompleted
questo è quanto sono riuscito a fare e pensare non un gran che comunque sento che si puo arrivare all'obbiettivo
|
|
Il Totem (Admin)
Guru^2
Messaggi: 3635
Iscritto: 24/01/2006
|
Dà errore... umh... posso provare a vedere nella sfera di cristallo che errore vien fuori. Oppure potresti dirmelo tu, tanto per risparmiarmi la fatica...
|
|