Archive pour le 23 octobre 2009

Remplissage de champs d’un site web

Comment remplir automatiquement des champs d’un formulaire d’une page web ?

Cette méthode marche pour un navigateur intégrer dans une application Winform.

Il faut récupérer l’objet Document du navigateur, ensuite récupérer les objets correspondants aux champs identifiant et mot de passe. On peut ensuite injecter les valeurs en utilisant la méthode SetAttribute. Les champs se remplissent automatiquement et visuellement !

            var document = webBrowser.Document;
            if (document == null) {
                return;
            }
            var loginElement = document.GetElementById(LOGIN_INPUT_NAME);
            if (loginElement != null) {
                loginElement.SetAttribute("value", textBoxLogin.Text);
            }
            var passwordElement = document.GetElementById(PASSWORD_INPUT_NAME);
            if (passwordElement != null) {
                passwordElement.SetAttribute("value", textBoxPassword.Text);
            }

Pour se connecter, cela équivaut à envoyer le formulaire parent des champs. Il faut pour cela récupérer l’objet correspondant au formulaire et invoquer la méthode submit.

            var form = GetForm(document.GetElementById(LOGIN_INPUT_NAME));
            if (form != null) {
                form.InvokeMember("submit");
            }

Autofill web page

Code Source AutoFillWebPage.zip