VBA Enter Data into webpage - IE Automation utilisant la fonction VBA GetElementByID
Quoi est-ce :
Si vous essayez de faire de l'automatisation ou si vous essayez de faire de l'automatisation ou si vous essayez de faire de l'automatisation. saisir des données sur une page web à l'aide de VBA alors cet article est fait pour vous. Nous allons vous montrer étape par étape comment entrer/remplir des données dans IE en utilisant VBA.
Épingle
Pourquoi est-ce :
Cette fonction est très utile lorsque vous souhaitez saisir ou remplir régulièrement plusieurs champs dans une page web. Ou si vous souhaitez vous connecter à un site web en un seul clic sans utiliser l'option par défaut du navigateur "Mémoriser mon mot de passe", etc.
Comment saisir des données sur une page web à l'aide de vba
Dans cet exemple, nous utilisons Excel VBA pour IE Automation, mais vous pouvez utiliser n'importe quelle plate-forme compatible avec VBA.
Subdivision privée wpieautologin()
Faible ie Comme SHDocVw.InternetExplorer
Set (jeu de mots) ie = Nouveau SHDocVw.InternetExplorer
ie.Visible = Vrai
ie.Naviguer "https://www.askeygeek.com/wp-admin" Nous essayons de nous connecter à la page d'administration de askeygeek.com.
Faire
Faire des événements
Boucle Jusqu'à ce que ie.readystate = 4
'ie READYSTATE a 5 codes d'état différents, ici nous utilisons l'état 4 :
'Non initialisé = 0
Chargement = 1
'Chargé = 2
'Interactive =3
'Complet = 4
Appeler ie.Document.GetElementByID("user_login").SetAttribute("value", "testUser")
Appeler ie.Document.GetElementByID("user_pass").SetAttribute("value", "testPass12345")
'pour trouver le lien hypertexte de la balise "" et pour cliquer sur le bouton
Set (jeu de mots) AllInputs = ie.Document.getelementsbytagname("input") 'vous pouvez utiliser n'importe quel nom de tagname comme vous le souhaitez
Pour Chaque lien hypertexte Dans Toutes les entrées
Si hyper_link.Name = "wp-submit" Alors Vous pouvez utiliser .name, .id, etc.
hyper_link.Click
Sortie Pour
Fin Si
Suivant
Faire
Faire des événements
Boucle Jusqu'à ce que ie.readystate = 3
Faire
Faire des événements
Boucle Jusqu'à ce que ie.readystate = 4
Fin Sous
Notes 1: Assurez-vous que l'option "Microsoft Internet Controls" est activée dans Outils - Références.
Notes 2: Cliquez avec le bouton droit de la souris sur la page web et cliquez sur Afficher la source pour trouver les valeurs de GetElement.
7 réponses
Pouvez-vous faire en sorte que cela fonctionne aussi avec mon navigateur Edge ?
Bonjour, j'ai besoin de remplir les données dans l'onglet du navigateur, qui est déjà ouvert et navigué vers la page exacte, où je dois remplir mes données, merci de me fournir le code VBA pour gérer cette session.
Salut,
Je dois cliquer sur un message supplémentaire à partir d'une page web, pouvez-vous m'aider avec le code. Je suis frappé par la partie finale qui consiste à cliquer sur ok.
Pouvez-vous m'aider ?
Il n'y a pas d'identifiant ou de valeur dans les lignes de code suivantes, comment puis-je insérer quelque chose dans le "lastnameFilter" ou le "firstnameFilter" ?
ID de l'apprenant
Prénom
Nom de famille
Recherche
Remerciements
J'obtiens une erreur à l'appel ie.Document.GetElementByID("user_login").SetAttribute("value", "testUser")
Erreur : Erreur d'exécution 424 : objet requis.
Pouvez-vous m'aider ?
Oh, je me suis corrigé. Erreur de frappe. Merci de votre attention.
J'obtiens toujours la même erreur