Recupérer un identifiant généré par un site web dans une variable VB avec webbro

Résolu
villoutj Messages postés 10 Date d'inscription lundi 1 septembre 2003 Statut Membre Dernière intervention 9 juin 2009 - 9 mars 2009 à 18:32
villoutj Messages postés 10 Date d'inscription lundi 1 septembre 2003 Statut Membre Dernière intervention 9 juin 2009 - 10 mars 2009 à 12:08
Bonjour, je suis un petit nouveau en VB et j'utilise visual basic 2008 express.
Grosso modo voila mon PB: Je vourai récupérer un identifiant généré par un site web php après identification de l'utilisateur, le stocker ds les parametres du prog VB et le réutiliser à la prochaine connection par l'appli VB. pour cela J'utilise un premier formulaire ou il ya un bouton qui connecte l'utilisateur sut le site paramétré ds l'appli. le deuxièmme parametre est l'identifiant de l'utilisateur qui est a 0 au départ. dès le bouton cliqué sur le premier formulaire le deuxièmme formumaire en webbrowser s'ouvre sur le site qui propose l'identification en php. après validation la page s'efface et laisse apparaitre le N° identifiant. un champ de contrôle html permet de le resaisir puis de cliquer sur validation, et là je voudrai que le n°saisi revienne ds le parametre de l'appli VB. (J'espère que c'est pas trop mal expliqué). Voila le code (je suis débutant):

sur form1: le bouton1

Private
Sub Button1_Click(
ByVal sender
As System.Object,
ByVal e
As System.EventArgs)
Handles Button1.Clickform2.Show()

'ouverture de la deuxiemme form
instance = form2.WebBrowser1
instance.Navigate(urlsite)
'connection au site PHP avec parametre Num utilisateur

End
Sub

************************************************************************************sur form2:

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

objDocument = WebBrowser1.Document.GetElementById(
"env")

If objDocument.GetAttribute(
"value") =
"Submit"
Then
   'premiere validation du bouton "env" 'apres saisie des donnés utilisateurs

      objDocument = WebBrowser1.Document.GetElementById(
"env1")

      If objDocument.GetAttribute(
"value") =
"Submit"
Then
            'deuxiemme validation sur bouton "env1" 'apres resaisie de l'identifiant dans "cont"
            ident = WebBrowser1.Document.GetElementById(
"cont").GetAttribute(
"value")
            
My.Settings.identifiant = ident
'maj de l'identifiant 
            My.Settings.Save()
'sauvegarde des parametres
      End
If
End
If
End
Sub
***********************************************************************************

Bon inutile de vous le cacher, ça marche pas quant je debug le webbrowser s'arrete au deuxiemme submit après avoir passé la saisie et reste en pose et ne détecte pas le clic de validation apres avoir saisi l'identifiant.
Comprend pas. 
remarque dans la saisie des données utilisateurs on est en formulaire PHP, et ds le deuxiemme on est en PHP avec un echo 'html'.
 si vous avez du code qui marche je suis preneur.

villoutj

2 réponses

troxsa Messages postés 553 Date d'inscription jeudi 28 novembre 2002 Statut Membre Dernière intervention 2 octobre 2016 1
9 mars 2009 à 23:11
Bonjour,

Il te faudrait une gestion d'erreur pour savoir ce qu'il cloche exactement (utilise Try)
Sinon je suppose a ton deuxieme submit qu'il est toujours a la première page et qu'il trouve pas env1
il te faudrait un ID a chaque page pour pas te planter de page.

Ta page est Online ou pas ? (sinon pourrais tu faire une ?)

Cordialement,
3
villoutj Messages postés 10 Date d'inscription lundi 1 septembre 2003 Statut Membre Dernière intervention 9 juin 2009
10 mars 2009 à 12:08
Merci à toi.
je regarde pour le try. Je pense que tu as raison, la première fois il passe au moment du click et ne retrouve pas la suite, puis recommence et ne retrouve pas le premier bouton (et donc boucle). J'ai suivi ton conseil pour mettre un id différent, mais vu la cause ça boucle quand même. je cherche. (nota:  le site il est en intranet pour l'insant). A+

villoutj
0
Rejoignez-nous