Comment automatiser firefox ou chrome avec excel vba et le sélénium

La clé de l`automatisation fait des choses plus rapidement et plus facile que vous avez jamais fait auparavant. Donc ce que vous prend beaucoup de temps à faire? Quelle partie de votre charge de travail voudrait automatiser?

En ce qui concerne la productivité, Excel est l`outil le plus couramment utilisé par les gens pour des choses comme l`organisation des finances, gestion de projets, et la priorité des objectifs. La semaine dernière, je l`ai décrit comment automatiser IE en créant des groupes d`URL dans des feuilles Excel, puis en utilisant l`objet IE dans Windows pour automatiser le lancement des groupes d`URL directement à partir de l`intérieur Excel.10+ utiles Modèles Excel pour la gestion du projet & suivi10+ utiles Modèles Excel pour la gestion du projet & suiviLes modèles sont aux gestionnaires de projets que les couteaux sont à des chefs professionnels: indispensable. Nous vous montrons comment vous pouvez reproduire les projets réussis en utilisant des modèles prêts à Microsoft Excel dans et au-delà.Lire la suite

À la suite de cet article, de nombreux lecteurs ont demandé comment faire la même chose dans Firefox ou Chrome. Étant donné que ni Firefox, ni Chrome ont un objet similaire inclus avec Windows qui peut être utilisé pour l`automatisation VBA, effectuer le même genre d`actions sur les autres navigateurs nécessite une étape supplémentaire. Cette étape est l`installation de VBA Sélénium - un wrapper COM Windows pour Sélénium.

Il vous permet d`effectuer des appels à partir de toute application qui prend en charge VBA afin d`ouvrir un navigateur - pas seulement IE - et contrôler la session du navigateur. Il est un outil puissant d`automatisation qui est si souvent utilisé que de nombreux éditeurs de navigateurs populaires intègrent Sélénium comme une partie native de leur navigateur. Son utilisation dans vos applications d`automatisation est sûr d`être pris en charge pour les années à venir.

Automatisant Firefox et Chrome avec Sélénium

Avant de commencer ce projet, vous devrez télécharger et installer l`emballage VBA Sélénium. Puis, comme je l`ai indiqué dans l`article sur automatisation de l`IE, d`écrire tout VBA dans Excel, vous devez entrer dans le mode de conception et de voir le code. Si vous ne l`avez jamais fait cela auparavant, il vous suffit d`aller dans le menu « Developer » et cliquez sur le mode Création. Cliquez sur le bouton « Insérer », cliquez sur le bouton ActiveX et dessiner sur votre feuille quelque part. Une fois que vous avez fait cela, cliquez sur le bouton, puis cliquez sur « Afficher le code ».En utilisant VBA pour automatiser Internet Explorer Sessions A partir d`une feuille de calcul ExcelEn utilisant VBA pour automatiser Internet Explorer Sessions A partir d`une feuille de calcul ExcelSon intégration avec Windows permet un contrôle d`Internet Explorer dans un certain nombre de façons surprenantes en utilisant Visual Basic pour Applications de script (VBA) à partir de toute application qui prend en charge, tels que Word, Outlook ou Excel.Lire la suite

selenium1

Dans la fenêtre de l`éditeur de code, en bas à gauche, assurez-vous de changer à la fois le « nom » et la « Légende » pour refléter ce que le bouton est pour. Dans ce cas, le bouton sera d`ouvrir la liste des URL que vous avez énumérés dans la feuille de calcul. Dans mon cas, je viens d`appeler ce cmdLoadURLs et fait la légende « URL de charge » (ce qui est ce qui apparaît sur le bouton).

selenium1b

Ensuite, vous devez pour activer le Wrapper Sélénium en cliquant sur le menu Outils, puis cliquez sur « Références », puis naviguez jusqu`à la référence appelée « SeleniumWrapper Type Library ». Vérifiez que la case de référence, puis cliquez sur OK.

selenium2

Video: Open Hyperlinks in Firefox, Chrome, Internet Explorer Excel VBA Tricks

Vous êtes maintenant prêt à commencer le code d`automatisation du navigateur d`écriture en utilisant le Sélénium Wrapper!

La fonctionnalité du Wrapper Sélénium

Le Wrapper VBA Sélénium vous donne beaucoup plus de fonctionnalités que je serai en mesure de vous montrer dans ce seul article. Vous pouvez voir à quel point est disponible au-delà du WebDriver, en définissant l`objet Sélénium comme « New SeleniumWrapper ». Lorsque vous tapez la période, il va tomber vers le bas tous les éléments des types d`objets que vous pouvez contrôler, comme des images de navigateur, les fichiers PDF, les touches du clavier, et plus encore.

selenium3

Ce code exemple utilisera la WebDriver. Une fois que vous utilisez l`objet Sélénium WebDriver dans votre code et tapez la période, il va tomber en bas d`une très longue liste des méthodes et propriétés que vous pouvez utiliser pour automatiser votre navigateur Web.

selenium4

Il peut prendre un certain temps pour apprendre tout ce qui est disponible, mais Google peut se présenter quelques bons exemples, derrière les échantillons disponibles sur la page Google Code. Malheureusement, autant que je sache, il n`y a pas de guide simple là-bas pour l`utilisation Sélénium, mais je vous serais reconnaissant de tout les lecteurs qui pourraient fournir des ressources!

Rédaction de votre code VBA Sélénium

Dans cet exemple, comme dans l`article IE, j`ai créé une liste d`URL que je veux ouvrir dans Firefox automatiquement. J`ai ensuite créé le bouton comme décrit dans la première partie de cet article.

Video: Selenium automation using Excel VBA - Selenium-VBA

selenium5

Le code derrière le bouton est simple, mais je vais vous expliquer ce que chaque section fait. Tout d`abord, vous devez lancer l`application Firefox. La méthode « selenium.start » fera. Les méthodes setTimeout et setImplicitWait ne sont pas critiques, mais peuvent empêcher l`application de se bloquer à jamais si le navigateur ne répond pas pour une raison quelconque.

Dim sélénium As New SeleniumWrapper.WebDriverDim FF ObjectDim intRowPosition Comme les clés IntegerDim Comme New SeleniumWrapper.keysselenium.Start "firefox", "http://google.com"selenium.setTimeout ("120000") Selenium.setImplicitWait (5000) intRowPosition = 2selenium.Open Sheet1.Range ("UNE" & intRowPosition)

Les deux dernières lignes régler la rangée des données Excel pour lire (deuxième ligne, où la première URL est stockée dans la feuille de calcul), et effectue ensuite la méthode « selenium.open » pour lire l`adresse URL à partir de cette feuille de calcul, et l`ouvrir dans Firefox.

selenium7

La section de code suivante incrémente le pointeur de ligne et lit l`URL suivante dans la liste. Si la cellule est pas vide, il utilise alors la méthode SendKeys pour lancer un nouvel onglet dans Firefox, lit l`URL suivante de cette vente, et ouvre l`URL dans ce nouvel onglet.

intRowPosition = intRowPosition + 1Tout Sheet1.Range ("UNE" & intRowPosition) lt; gt; vbNullStringselenium.SendKeys keys.Control & "t"selenium.Open Sheet1.Range ("UNE" & intRowPosition) intRowPosition = intRowPosition + 1WendSet IE = Nothing

Le script boucle à travers votre liste complète jusqu`à ce que toutes les URL sont ouverts dans leurs propres onglets. Voici le navigateur après que la boucle a traversé une deuxième fois et a ouvert MUO dans un nouvel onglet.

Video: Excel VBA Tutorial 46 - How to open Firefox Using VBA

selenium8

Si vous souhaitez utiliser ce code pour Chrome, tout ce que vous devez faire est de changer la ligne « selenium.Start « firefox » » à « chrome » à la place.

Créez maintenant votre script

Comme je l`ai mentionné plus haut, la meilleure façon d`apprendre la puissance du Wrapper est Sélénium de type « sélénium » dans votre code, appuyez sur la période et il suffit de parcourir la liste très longue des propriétés et méthodes disponibles. Par exemple, vous pouvez utiliser la propriété .URL pour obtenir l`URL de l`onglet ouvert dans Firefox ou Chrome.

selenium9

Comme vous pouvez le voir, il y a beaucoup plus de choses que vous pouvez faire qui vont bien au-delà de la portée de cet article. Mais expérimenter et vous amuser. Heureusement, la plupart des fonctions sera un texte d`aide contextuelle qui vous montre quels paramètres chaque fonction attend. Cela peut aider beaucoup quand il s`agit de comprendre comment l`utiliser.

Video: How to Add Chrome Extension In Selenium at Runtime

Utilisez-vous VBA pour automatiser votre ordinateur? Avez-vous déjà automatisé vos sessions de navigateur de VBA? Partagez vos propres conseils et expériences avec elle dans la section commentaires ci-dessous!

Articles connexes