MaxDembo81
05-05-2011, 16:42
Salve a tutti,
nella mia applicazione per diminuire i tempi ho fatto in modo che i login ad alcuni siti avvengano in modo automatico.
Il codice, di una banalità unica, è il seguente
Private Sub WebBrowser1_DocumentCompleted(ByVal sender As Object, ByVal e As System.Windows.Forms.WebBrowserDocumentCompletedEventArgs) Handles WebBrowser1.DocumentCompleted
Try
Select GL_sSessione.PWebsite.ToString
Case "xxxx.html"
WebBrowser1.Document.GetElementById("USERNAME").InnerText = GL_sSessione.PUsername
WebBrowser1.Document.GetElementById("PASSWORD").InnerText = GL_sSessione.PPassword_ASL
WebBrowser1.Document.GetElementById("login").InvokeMember("click")
.
.
etc
.
.
.
End Sub
Oggi mi si presenta un sito con 4 input da compilare fra cui una casella combinata. Per la casella combinata ho usato quest linea di codice
WebBrowser1.Document.GetElementById("ruolo").SetAttribute("selectedIndex", "5") '
però non mi piace tanto perchè preferirei invece che fare il controllo sull'indice, fare il controllo sul contenuto. Ho provato selectedValue e selectedText ma non funzionano. Qual'è l'attributo giusto?
A parte questo che comunque è un problema secondario, il problema principale è che in una di queste inputform non c'è modo di scrivere nessun valore. La schifosa infatti viene creata da un javascript che probabilmente sul documentcomplete del webbrowser ancora non ha dato segno di esecuzione terminata. Ho provato a lanciare sempre dall'evento documentcomplete un thread con while (true) che mi provasse a settare il valore nel campo ma niente.
Poi però ho creato un tasto che fa la stessa cosa (senza ciclo while) e magicamente funziona :confused: :mbe: :confused:
Come faccio ad evitare di passare dalla pressione di un tasto?
Praticamente io dovrei "uscire" dall'evento documentcomplete notificando a un metodo o un thread che può scrivere dentro la textbox o qualcosa di simile....
idee?
grazie
nella mia applicazione per diminuire i tempi ho fatto in modo che i login ad alcuni siti avvengano in modo automatico.
Il codice, di una banalità unica, è il seguente
Private Sub WebBrowser1_DocumentCompleted(ByVal sender As Object, ByVal e As System.Windows.Forms.WebBrowserDocumentCompletedEventArgs) Handles WebBrowser1.DocumentCompleted
Try
Select GL_sSessione.PWebsite.ToString
Case "xxxx.html"
WebBrowser1.Document.GetElementById("USERNAME").InnerText = GL_sSessione.PUsername
WebBrowser1.Document.GetElementById("PASSWORD").InnerText = GL_sSessione.PPassword_ASL
WebBrowser1.Document.GetElementById("login").InvokeMember("click")
.
.
etc
.
.
.
End Sub
Oggi mi si presenta un sito con 4 input da compilare fra cui una casella combinata. Per la casella combinata ho usato quest linea di codice
WebBrowser1.Document.GetElementById("ruolo").SetAttribute("selectedIndex", "5") '
però non mi piace tanto perchè preferirei invece che fare il controllo sull'indice, fare il controllo sul contenuto. Ho provato selectedValue e selectedText ma non funzionano. Qual'è l'attributo giusto?
A parte questo che comunque è un problema secondario, il problema principale è che in una di queste inputform non c'è modo di scrivere nessun valore. La schifosa infatti viene creata da un javascript che probabilmente sul documentcomplete del webbrowser ancora non ha dato segno di esecuzione terminata. Ho provato a lanciare sempre dall'evento documentcomplete un thread con while (true) che mi provasse a settare il valore nel campo ma niente.
Poi però ho creato un tasto che fa la stessa cosa (senza ciclo while) e magicamente funziona :confused: :mbe: :confused:
Come faccio ad evitare di passare dalla pressione di un tasto?
Praticamente io dovrei "uscire" dall'evento documentcomplete notificando a un metodo o un thread che può scrivere dentro la textbox o qualcosa di simile....
idee?
grazie