Bonjour a tous,
Pour me familiariser avec la manipulation des pages web, je voudrais créer un petit programme via lequel on va remplir la zone texte de Google (là ou on met les mots clé pour rechercher un site) et activer le bouton "Recherche Google".
Donc dans l'interface du programme on aura un webbrowser qui va afficher le page de Google, un bouton qui va mettre une chaîne de caractères donnée dans la zone texte, sans nous ayons à le taper nous même et un autre qui va simuler le clic sur "Recherche Google".
Le problème est que je ne sais pas comment récupérer la zone de texte et le bouton recherche pour les manipuler.
J'ai bien trouvé
cette page où on nous dit :
Bon jour,
il faut utiliser la notion des objets DOM pour y accéder à une page html, pour cela dand le webbrowserDocumentComplete doit contenir le cose suivant (C#):
HtmlDocument document = webBrowser.Document;
if (document != null)
{
document.All["p0"].SetAttribute("value", userName);
document.All["p1"].SetAttribute("value", passWord);
document.Forms["saisie"].InvokeMember("submit");
}
où P0 est le champ nom d'utilisateur
P1 le mot de passe
et dans la forme -saisie- le boutton sutmit
Bonne chance.
et ça :
sinon j'ai trouvé une autre méthode :
webBrowser.Document.All["username"].SetAttribute("value","monNomUtilisateur");
webBrowser.Document.All["password"].SetAttribute("value","monMotDePasse");
webBrowser.Document.GetElementById("login").Focus();
webBrowser.Document.GetElementById("login").InvokeMember("click");
Le gros problème c'est que :
1) "document.All["p0"]" est impossible puisque All[] ne prend que des int
2) "webBrowser.Document.GetElementById("login").Focus();" si j'ai bien compris, attrape les éléments via leur id, hors pour le bouton "recherche google", firebug le voit comme ça :
Bref il y a bien un "name" mais pas d' "Id".
Pouvez vous me donner des pistes s'il vous plait ?