Comment automatiser Firefox ou Chrome avec Excel VBA et sélénium

La clé de l'automatisation est de faire les choses plus rapidement et plus facilement que vous ne l'avez jamais fait auparavant. Alors, quelle partie de votre charge de travail souhaitez-vous automatiser? Voyons voir ce que nous pouvons faire!

La clé de l'automatisation est de faire les choses plus rapidement et plus facilement que vous ne l'avez jamais fait auparavant.  Alors, quelle partie de votre charge de travail souhaitez-vous automatiser?  Voyons voir ce que nous pouvons faire!
Publicité

La clé de l'automatisation est de faire les choses plus rapidement et plus facilement que vous ne l'avez jamais fait auparavant. Alors qu'est-ce qui vous prend beaucoup de temps à faire? Quelle partie de votre charge de travail aimerait automatiser?

En matière de productivité, Excel est l'outil le plus utilisé par les gens pour organiser des finances, gérer des projets 10+ Modèles Excel utiles pour la gestion de projet et le suivi 10+ Modèles Excel utiles pour la gestion de projet et les modèles de suivi sont à des chefs professionnels: indispensables. Nous vous montrons comment vous pouvez répliquer des projets réussis en utilisant des modèles prêts à l'emploi dans Microsoft Excel et au-delà. En savoir plus et prioriser les objectifs Utiliser Excel et Google Tâches pour créer l'outil de gestion des meilleurs objectifs Jamais Utiliser Excel et Google Tâches pour créer le meilleur outil de gestion des objectifs Depuis toujours, j'ai commencé à réaliser que je travaille très dur, mais Quelqu'un m'a demandé si je pensais que je travaillais dans un but plus large, je dois dire que je ne le fais pas ... Lire la suite. La semaine dernière, j'ai décrit comment automatiser IE à l'aide de VBA pour automatiser des sessions Internet Explorer à partir d'une feuille de calcul Excel à l'aide de VBA pour automatiser des sessions Internet Explorer à partir d'une feuille de calcul Excel Son intégration avec Windows permet le contrôle d'Internet Explorer de manière surprenante. Script Applications (VBA) à partir de toute application qui le prend en charge, telle que Word, Outlook ou Excel. En savoir plus en configurant des groupes d'URL dans des feuilles Excel, puis en utilisant l'objet IE dans Windows pour automatiser le lancement de groupes d'URL directement à partir d'Excel.

Suite à cet article, de nombreux lecteurs ont demandé comment faire la même chose dans Firefox ou Chrome. Comme ni Firefox ni Chrome n'ont d'objet similaire à Windows pouvant être utilisé pour l'automatisation VBA, l'exécution du même type d'actions sur ces autres navigateurs nécessite une étape supplémentaire. Cette étape est l'installation de Selenium VBA - un wrapper Windows COM pour Selenium.

Il vous permet d'effectuer des appels à partir de n'importe quelle application qui prend en charge VBA afin d'ouvrir un navigateur - pas seulement IE - et de contrôler cette session de navigateur. C'est un outil d'automatisation puissant qui est si communément utilisé que de nombreux vendeurs de navigateurs populaires intègrent Selenium en tant que partie native de leur navigateur. L'utiliser dans vos applications d'automatisation est sûr d'être pris en charge pour les années à venir.

Automatiser Firefox et Chrome avec Selenium

Avant de commencer ce projet, vous devez télécharger et installer le wrapper VBA Selenium. Puis, comme je l'ai expliqué dans l'article sur l'automatisation de IE à l'aide de VBA pour automatiser les sessions Internet Explorer à partir d'une feuille de calcul Excel avec VBA pour automatiser les sessions Internet Explorer à partir d'une feuille de calcul Excel. Script Visual Basic pour Applications (VBA) à partir de toute application qui le prend en charge, comme Word, Outlook ou Excel. En savoir plus, pour écrire n'importe quel VBA dans Excel, vous devez entrer en mode conception et afficher le code. Si vous ne l'avez jamais fait auparavant, il vous suffit d'aller dans l'élément de menu "Développeur" et de cliquer sur le mode Conception. Cliquez sur le bouton "Insérer", cliquez sur le bouton ActiveX et dessinez-le sur votre feuille quelque part. Une fois que vous avez fait cela, cliquez sur le bouton puis cliquez sur "Voir le code".

sélénium1

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 le but du bouton. Dans ce cas, le bouton ouvrira la liste des URL que vous avez listées dans la feuille de calcul. Dans mon cas, je l'ai juste appelé cmdLoadURLs, et ai fait la légende "Load URLs" (c'est ce qui apparaît sur le bouton).

selenium1b

Ensuite, vous devez activer le Wrapper Selenium en cliquant sur le menu Outils, puis cliquez sur "Références", puis naviguez jusqu'à la référence appelée "SeleniumWrapper Type Library". Cochez cette case, puis cliquez sur OK.

sélénium2

Vous êtes maintenant prêt à écrire le code d'automatisation du navigateur à l'aide du sélecteur de sélénium!

Fonctionnalité de l'emballage de sélénium

Le Sélénium VBA Wrapper vous donne beaucoup plus de fonctionnalités que je ne vais pouvoir vous le montrer dans cet article. Vous pouvez voir juste ce qui est disponible au-delà de WebDriver, en définissant l'objet Selenium comme "New SeleniumWrapper". Lorsque vous saisissez la période, elle affiche tous les éléments des types d'objets que vous pouvez contrôler, tels que les images de navigateur, les fichiers PDF, les touches du clavier, etc.

sélénium3

Cet exemple de code utilisera WebDriver. Une fois que vous avez utilisé l'objet Selenium WebDriver dans votre code et que vous avez tapé la période, il affiche une très longue liste de méthodes et de propriétés que vous pouvez utiliser pour automatiser votre navigateur Web.

sélénium4

Cela peut prendre un certain temps pour apprendre tout ce qui est disponible, mais Google peut trouver de bons exemples, derrière les exemples disponibles sur la page Google Code. Malheureusement, pour autant que je sache, il n'y a pas de guide simple pour utiliser Selenium, mais je serais reconnaissant de tous les lecteurs qui pourraient fournir des ressources!

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

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.

sélénium5

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

 Dim sélénium comme nouveau SeleniumWrapper.WebDriver Dim FF comme objet Dim intRowPosition As Integer Dim touches Comme nouveau SeleniumWrapper.keys selenium.Start "firefox", "http://www.google.com" selenium.setTimeout ("120000") sélénium. setImplicitWait (5000) intRowPosition = 2 selenium.Open Sheet1.Range ("A" & intRowPosition) 

Les deux dernières lignes définissent la ligne des données Excel à lire (ligne deux, où la première URL est stockée dans la feuille de calcul), puis exécute la méthode "selenium.open" pour lire l'URL de cette feuille de calcul et l'ouvrir dans Firefox.

sélénium7

La section de code suivante incrémente le pointeur de ligne et lit l'URL suivante dans la liste. Si la cellule n'est pas vide, elle utilise 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 + 1 While Sheet1.Range ("A" & intRowPosition) vbNullString selenium.SendKeys keys.Contrôle & "t" selenium.Open Sheet1.Range ("A" & intRowPosition) intRowPosition = intRowPosition + 1 Wend Définir IE = Rien 

Le script parcourt votre liste entière jusqu'à ce que toutes les URL soient ouvertes 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.

sélénium8

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

Créez maintenant votre propre script

Comme je l'ai mentionné ci-dessus, la meilleure façon d'apprendre la puissance du sélecteur de sélénium est de taper «sélénium» dans votre code, de cliquer sur la période et de parcourir la très longue liste de propriétés et de méthodes disponibles. Par exemple, vous pouvez utiliser la propriété .URL pour obtenir l'URL de l'onglet actuellement ouvert dans Firefox ou Chrome.

sélénium9

Comme vous pouvez le voir, il y a beaucoup plus de choses que vous pouvez faire qui dépassent le cadre de cet article. Mais expérimentez et amusez-vous. Heureusement, la plupart des fonctions afficheront du texte d'aide qui vous montrera les paramètres attendus de chaque fonction. Cela peut aider beaucoup quand il s'agit de savoir comment l'utiliser.

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

In this article