Cliquer sur Login automatiquement [Résolu]

Signaler
Messages postés
5
Date d'inscription
lundi 5 septembre 2016
Statut
Membre
Dernière intervention
12 septembre 2016
-
Messages postés
5
Date d'inscription
lundi 5 septembre 2016
Statut
Membre
Dernière intervention
12 septembre 2016
-
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

Messages postés
18038
Date d'inscription
lundi 7 décembre 2009
Statut
Modérateur
Dernière intervention
11 avril 2018
237
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.
Messages postés
32986
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
18 juin 2021
351
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") 

Messages postés
2429
Date d'inscription
samedi 11 janvier 2014
Statut
Contributeur
Dernière intervention
1 juin 2021
137
un bonjour amical à Jordane45 et Ucfoutu ( deux amis rencontrés à la visite chez CCM en mars 2016)
Messages postés
5
Date d'inscription
lundi 5 septembre 2016
Statut
Membre
Dernière intervention
12 septembre 2016

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")
Messages postés
3258
Date d'inscription
jeudi 26 novembre 2009
Statut
Membre
Dernière intervention
3 décembre 2019
50
Messages postés
5
Date d'inscription
lundi 5 septembre 2016
Statut
Membre
Dernière intervention
12 septembre 2016

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")