Salve a tutti, mi chiamo Giuseppe (come si può facilmente intuire), premetto che sono un dilettante, quindi è possibile che utilizzi termini impropri e/o sbagliati. Inoltre, essendomi iscritto adesso al forum (anche se lo seguo da parecchio), potrei anche sbagliare qualcosa, nonostante abbia letto il regolamento, e per questo mi scuso a priori.
Andiamo al nocciolo del problema:
sto facendo un piccolo programmino in cui si deve accedere tramite webbrowser al proprio account e vorrei che questo avvenisse automaticamente all'apertura del programmino chiamando l'evento click del button "btn_Accedi". Dopo svariate ricerche sono riuscito a scrivere il seguente codice:
codice:
Private Sub Accedi(sender As Object, e As System.EventArgs) Handles btn_Accedi.Click
Dim myHtmlElement As HtmlElement
With WBr_Forum.Document
.GetElementById("UserName").InnerText = "email@libero.it"
.GetElementById("PassSafe").InnerText = "mypass"
.GetElementById("PassSafe").SetAttribute("type", "password")'altrimenti vedo la password e non i pallini
For Each myHtmlElement In .All
If myHtmlElement.GetAttribute("type") = "submit" And myHtmlElement.GetAttribute("tabindex") = "4" Then
myHtmlElement.InvokeMember("Click")
End If
Next
End With
End Sub
Quando però chiamo il click del login mi spunta la form di allert della pagina web dicendomi di completare tutti i campi.
Stessa cosa se clicco manualmente, quindi significa che riesco ad intercettare correttamente il controllo e l'evento.
Ho fatto un'altra prova, inserendo nella Sub Accedi la riga:
codice:
Clipboard.SetText("mypass")
se incollo col tasto destro del mouse nella textbox "PassSafe" e clicco su login, l'accesso avviene correttamente, perché? E come posso risolvere il problema?
Grazie a tutti anticipatamente.