Cliquer sur Login automatiquement [Résolu]

tmsnake69 5 Messages postés lundi 5 septembre 2016Date d'inscription 12 septembre 2016 Dernière intervention - 7 sept. 2016 à 16:56 - Dernière réponse : tmsnake69 5 Messages postés lundi 5 septembre 2016Date d'inscription 12 septembre 2016 Dernière intervention
- 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.
Afficher la suite 

Votre réponse

6 réponses

ucfoutu 18039 Messages postés lundi 7 décembre 2009Date d'inscriptionModérateurStatut 11 avril 2018 Dernière intervention - 7 sept. 2016 à 17:55
0
Merci
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.
Commenter la réponse de ucfoutu
jordane45 21448 Messages postés mercredi 22 octobre 2003Date d'inscriptionModérateurStatut 24 juin 2018 Dernière intervention - 7 sept. 2016 à 18:10
0
Merci
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") 

vb95 1591 Messages postés samedi 11 janvier 2014Date d'inscriptionContributeurStatut 21 juin 2018 Dernière intervention - 7 sept. 2016 à 20:48
un bonjour amical à Jordane45 et Ucfoutu ( deux amis rencontrés à la visite chez CCM en mars 2016)
Commenter la réponse de jordane45
tmsnake69 5 Messages postés lundi 5 septembre 2016Date d'inscription 12 septembre 2016 Dernière intervention - 7 sept. 2016 à 18:17
0
Merci
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")
Commenter la réponse de tmsnake69
cs_ShayW 3238 Messages postés jeudi 26 novembre 2009Date d'inscription 14 mars 2018 Dernière intervention - 7 sept. 2016 à 22:44
Commenter la réponse de cs_ShayW
tmsnake69 5 Messages postés lundi 5 septembre 2016Date d'inscription 12 septembre 2016 Dernière intervention - 8 sept. 2016 à 06:01
0
Merci
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")
Commenter la réponse de tmsnake69

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.