Cliquer sur Login automatiquement

Résolu
tmsnake69 Messages postés 3 Date d'inscription lundi 5 septembre 2016 Statut Membre Dernière intervention 12 septembre 2016 - Modifié par tmsnake69 le 7/09/2016 à 16:56
tmsnake69 Messages postés 3 Date d'inscription lundi 5 septembre 2016 Statut Membre Dernière intervention 12 septembre 2016 - 8 sept. 2016 à 06:01
Bonjour à tous,
J'ai un WebBrowser qui se connecte automatiquement au site Suivant : https://cis.swatch.com/fr-FR/Account/Login/Swatch

Mon but est qu'une fois que le WebBrowser arrive sur le site il faut qu'il se connecte directement.
J'arrive bien à rentrer un login et un mot de passe mais impossible de le faire cliquer sur le bouton Connexion.
Voici mon code :

Private Sub WebBrowser1_DocumentCompleted(ByVal sender As System.Object, ByVal e As System.Windows.Forms.WebBrowserDocumentCompletedEventArgs) Handles WebBrowser1.DocumentCompleted


Dim theElementCollection As HtmlElementCollection
theElementCollection = WebBrowser1.Document.GetElementsByTagName("input")
For Each curElement As HtmlElement In theElementCollection
Dim controlName As String = curElement.GetAttribute("name").ToString
If controlName = "UserName" Then
curElement.SetAttribute("Value", "Mon Login")
ElseIf controlName = "Password" Then
curElement.SetAttribute("Value", "Mon Password")

End If
Next

theElementCollection = WebBrowser1.Document.GetElementsByTagName("input")
For Each curElement As HtmlElement In theElementCollection
If curElement.GetAttribute("id").Equals("login") Then
curElement.InvokeMember("Click")

End If
Next
End Sub
End Class


Pouvez-vous me dire pourquoi le Login et le mot de passe s'inscrit bien quand j'arrive sur le site mais il ne veut pas se connecter automatiquement.

Merci d'avance pour votre aide.

5 réponses

ucfoutu Messages postés 18038 Date d'inscription lundi 7 décembre 2009 Statut Modérateur Dernière intervention 11 avril 2018 211
7 sept. 2016 à 17:55
Bonjour,
Discussion ouverte dans le forum général de VB, que je déplace donc vers le sous-forum VB.Net. Prends s'il te plait dorénavant ce soin.

Pour répondre à ta question : pour des quantités de raisons possibles, parmi lesquelles des astuces du créateur du site pour feinter les robots.
Interroge donc le responsable du site.
0
jordane45 Messages postés 38178 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 16 mai 2024 344
7 sept. 2016 à 18:10
Bonjour,

En complément de la réponse d'Ucfoutu (que je salue au passage)
...

Pourquoi passer par les
GetElementsByTagName("input")

Sachant que tu connais les ID de tes éléments... pourquoi ne pas directement utiliser :
WebBrowser1.Document.GetElementById("login") 

0
vb95 Messages postés 3474 Date d'inscription samedi 11 janvier 2014 Statut Contributeur Dernière intervention 7 mai 2024 169
7 sept. 2016 à 20:48
un bonjour amical à Jordane45 et Ucfoutu ( deux amis rencontrés à la visite chez CCM en mars 2016)
0
tmsnake69 Messages postés 3 Date d'inscription lundi 5 septembre 2016 Statut Membre Dernière intervention 12 septembre 2016
7 sept. 2016 à 18:17
Salut Jordan,

Je vient d'essayer ta proposition mais rien y fait...
Voici mon code :

For Each curElement As HtmlElement In theElementCollection
WebBrowser1.Document.GetElementById("login")
curElement.InvokeMember("Click")
0
cs_ShayW Messages postés 3253 Date d'inscription jeudi 26 novembre 2009 Statut Membre Dernière intervention 3 décembre 2019 57
7 sept. 2016 à 22:44
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
tmsnake69 Messages postés 3 Date d'inscription lundi 5 septembre 2016 Statut Membre Dernière intervention 12 septembre 2016
8 sept. 2016 à 06:01
Salut cs_ShayW

Je te remercie beaucoup !
Le code fonctionne :)
Voici mon code final pour le bouton login clic

theElementCollection = WebBrowser1.Document.GetElementsByTagName("button")
For Each curElement As HtmlElement In theElementCollection
Dim controlName As String = curElement.GetAttribute("id").ToString
If controlName = "login" Then
curElement.InvokeMember("click")
0
Rejoignez-nous