Oppure

Loading
07/08/12 8:54
Alain.Serafini
Buon giorno, sto cercando di ciccare un pulsante all’interno in una pagina Web.
Con Mouseposition e Simulateclick ci riesco ma la soluzione non è assolutamente elegante. Senza contare che le coordinate del mouse variano con la risoluzione dello schermo.
Nel codice HTML della pagina sono presenti gli ID ed i NAME di numerosi elementi (ad esempio <input class="datiInput" type="password" name="j_password" id="j_password" size="20">;). Purtroppo questo non vale per il pulsante di conferma “OK”. Nel codice HTML è presente questo testo: <input class="datiInput" type="submit" value="OK">. Lo stesso vale per il pulsante “ANNULLA” (<input class="datiInput" type="reset" value="Annulla">;).
Ho provato con il codice di seguito riportato ma, mentre lo stesso funziona sugli altri elementi, non c’è identificazione dei pulsanti in questione.
Dim OGG As HtmlElement = webvis.Document.GetElementFromPoint(MousePosition - Me.Location - webvis.Location)
MsgBox(OGG.Name.ToString & " - " & OGG.Id)

Anche il riferimento a totemslair.org/guide/… non mi è stato di grande aiuto al fine di “prendere il controllo” dei pulsanti.
Ringrazio anticipatamente ciascuno per l’aiuto che vorrà offrire. Buona giornata. Alain.
aaa
07/08/12 9:47
Qwertj
prova prendendo tutti gli elementi con quel tagname, nella guida di totem c'è scritto da qualche parte il nome della funzione che adesso non mi ricordo
aaa
07/08/12 10:07
Alain.Serafini
La funzione dovrebbe essere GetElementsByTagName (tagname As String).

Ti prego di portare un po' di pazienza ... di quale tagname stai parlando?

Se può esserti utile e se, a tuo avviso, il regolamento del forum lo consente,

posso rendere noto l'URL del sito.

Grazie!
aaa
07/08/12 10:38
Alain.Serafini
Ho ottenuto, via codice, un elenco completo dei Tagname della pagina Web:

Elenco dei Tagname: - ! - HTML - HEAD - TITLE - META - META - META - META - META - META - ! - LINK - ! - SCRIPT - BODY - DIV - DIV - DIV - DIV - A - IMG - DIV - DIV - DIV - DIV - DIV - A - ! - BR - BR - BR - FIELDSET - LEGEND - BR - FORM - DIV - LABEL - DIV - INPUT - BR - BR - DIV - LABEL - DIV - INPUT - BR - BR - DIV - BR - LABEL - B - INPUT - LABEL - B - INPUT - BR - BR - DIV - INPUT - INPUT - DIV - A - BR - BR - BR - BR - BR - DIV - BR - TABLE - TBODY - TR - TD - FIELDSET - LEGEND - BR - BR - BR - BR - BR - BR - BR - BR - TD - TD - FIELDSET - LEGEND - BR - BR - BR - IMG - BR - BR - BR - TR - TD - TR - TD - A - A - BR - BR - DIV - DIV - DIV - IMG

Perdonami, ma non ho capito come questo dato mi permetterà

di selezionare il pulsante desiderato. Alain.
aaa
07/08/12 10:58
Alain.Serafini
Con
        Dim COLLA As HtmlElementCollection
        COLLA = webvis.Document.GetElementsByTagName("INPUT")


ho ottenuto, via codice, il seguente risultato:

j_username - j_password - vmatrice_1 - vmatrice_2

che sono NAME ed ID (coincidono) di quattro textbox nelle quali è

necessario inserire i dati di login. Dei pulsanti ... nessuna notizia.
aaa
07/08/12 20:27
Qwertj
prova a invocare il submit della form
aaa
08/08/12 6:57
Alain.Serafini
Funziona! Con il codice:

webvis.Document.GetElementById("query").InvokeMember("submit")


che hai suggerito, ho modo di bypassare la sequenza di istruzioni:

   Dim Posizione As Point
            Posizione.X = 566 : Posizione.Y = 515
            Cursor.Position = Posizione
            Dim PUNTO As New Drawing.Point(Posizione.X, Posizione.Y)
            SimulateClick(PUNTO)


Grazie davvero! Ho modo di incrementare il tuo numero di "Pollice su"?
aaa
08/08/12 8:56
Qwertj
prego :k:
e no, in un thread non puoi darmi dei pollicioni :rotfl:
aaa