Comment automatiser Firefox ou Chrome avec Excel VBA et Selenium

  • Peter Holmes
  • 0
  • 3756
  • 513
Publicité

La clé de l'automatisation est de faire les choses plus rapidement et plus facilement que jamais. Alors qu'est-ce qui vous prend longtemps? Quelle partie de votre charge de travail voudriez automatiser?

En matière de productivité, Excel est l'outil le plus couramment utilisé par les utilisateurs pour organiser des finances, gérer des projets, etc. 10 Modèles puissants de gestion de projet Excel pour le suivi 10 Modèles puissants de gestion de projet Excel pour le suivi Obtenez ces modèles de feuille de calcul Microsoft Excel clés pour le suivi de tout projet. et définition des objectifs Utilisation des tâches Excel et Google pour créer le meilleur outil de gestion des objectifs jamais Utiliser les tâches Excel et Google pour créer le meilleur outil de gestion des objectifs jamais, j'ai récemment pris conscience que je travaillais très fort que je pense ou non que je travaille dans un but plus large, je dirais que je ne le fais vraiment pas… La semaine dernière, j’ai expliqué comment automatiser Internet Explorer à l’aide de VBA pour automatiser des sessions Internet Explorer à partir d’une feuille de calcul Excel. Utilisation de VBA pour automatiser des sessions Internet Explorer à partir d’une feuille de calcul Excel. Son intégration à Windows permet de contrôler Internet Explorer de plusieurs manières surprenantes en utilisant Visual Basic pour. Script d'applications (VBA) à partir de toute application qui le prend en charge, tel que Word, Outlook ou Excel. en configurant des groupes d'URL dans des feuilles Excel, puis en utilisant l'objet IE de 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. Etant donné que ni Firefox ni Chrome ne possèdent d’objet similaire inclus dans Windows pouvant être utilisé pour l’automatisation VBA, effectuer le 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 COM Windows pour Selenium..

Il vous permet d'effectuer des appels à partir de toute application prenant 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 et couramment utilisé que de nombreux éditeurs de navigateurs classiques intègrent Selenium en tant que partie native de leur navigateur. Son utilisation dans vos applications d'automatisation sera assurée pour les années à venir..

Automatisation de Firefox et de Chrome avec Selenium

Avant de commencer avec ce projet, vous devez télécharger et installer le wrapper Selenium VBA. Ensuite, comme je l’ai expliqué dans l’article sur l’automatisation d’Internet Explorer à l’aide de VBA pour automatiser des sessions Internet Explorer à partir d’une feuille de calcul Excel. Utilisation de VBA pour automatiser des sessions Internet Explorer à partir d’une feuille de calcul Excel. Son intégration à Windows permet de contrôler Internet Explorer de plusieurs manières surprenantes. Script Visual Basic pour Applications (VBA) à partir de toute application qui le prend en charge, tel que Word, Outlook ou Excel. Pour écrire n’importe quel fichier VBA dans Excel, vous devez passer en mode conception et afficher le code. Si vous n'avez jamais fait cela auparavant, il vous suffit d'entrer dans le “Développeur” élément de menu et cliquez sur Mode Création. Clique sur le “Insérer” bouton, 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”.

Dans la fenêtre de l'éditeur de code, dans le coin inférieur gauche, veillez à modifier les deux “prénom” et le “Légende” pour refléter à quoi sert le bouton. Dans ce cas, le bouton ouvrira la liste des URL que vous avez répertoriées dans la feuille de calcul. Dans mon cas, je l'ai simplement appelé cmdLoadURLs et j'ai créé la légende “Charger des URL” (c'est ce qui apparaît sur le bouton).

Ensuite, vous devez activer Selenium Wrapper en cliquant sur le menu Outils, puis sur “Références”, puis accédez à la référence appelée “Bibliothèque de types SeleniumWrapper”. Cochez cette case de référence puis cliquez sur OK.

Vous êtes maintenant prêt à écrire le code d'automatisation du navigateur à l'aide de Selenium Wrapper.!

Fonctionnalité du wrapper Selenium

Le Selenium VBA Wrapper vous donne beaucoup plus de fonctionnalités que je ne pourrai vous en montrer dans cet article. Vous pouvez voir la quantité disponible au-delà de WebDriver en définissant l'objet Selenium comme suit: “Nouveau SeleniumWrapper”. Lorsque vous tapez la période, tous les éléments des types d'objets que vous pouvez contrôler sont affichés, tels que les images de navigateur, les fichiers PDF, les touches du clavier, etc..

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

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 Code Google. Malheureusement, à ma connaissance, il n’existe pas de guide simple sur l’utilisation de Selenium, mais je serais reconnaissant à tous les lecteurs qui pourraient fournir des ressources.!

Écrire votre code de sélénium VBA

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

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. le “sélénium.start” méthode va le faire. Les méthodes setTimeout et setImplicitWait ne sont pas critiques, mais peuvent empêcher votre application de se verrouiller indéfiniment si le navigateur ne répond pas pour une raison quelconque.

Dim selenium As New SeleniumWrapper.WebDriver Dim FF As Object Dim intRowPosition As Integer Touches Dim As New 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 (deuxième ligne, où la première URL est stockée dans la feuille de calcul), puis effectue la “sélénium.ouverture” méthode pour lire l'URL de cette feuille de calcul et l'ouvrir dans Firefox.

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 ensuite la méthode SendKeys pour lancer un nouvel onglet dans Firefox, lit l'URL suivante de cette vente et l'ouvre dans cet nouvel onglet..

intRowPosition = intRowPosition + 1 While Sheet1.Range ("A" & intRowPosition) vbNullString selenium.SendKeys keys.Control & "t" selenium.Open Sheet1.Range ("A" & intRowPosition) intRowPosition = intRowPosition = intRowPosition + 1 Définir une définition

Le script parcourt toute votre liste jusqu'à ce que toutes les URL soient ouvertes dans leurs propres onglets. Voici le navigateur après la boucle une seconde fois et a ouvert MUO dans un nouvel onglet.

Si vous souhaitez utiliser ce code pour Chrome, il vous suffit de modifier la ligne. “sélénium.Start “firefox”” à “chrome” au lieu.

Maintenant, créez votre propre script

Comme je l’ai mentionné ci-dessus, le meilleur moyen d’apprendre le pouvoir du Selenium Wrapper est de taper “sélénium” dans votre code, appuyez sur la période et parcourez la très longue liste de propriétés et 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..

Comme vous pouvez le constater, vous pouvez faire beaucoup plus de choses qui vont bien au-delà de la portée de cet article. Mais expérimentez et amusez-vous. Heureusement, la plupart des fonctions feront apparaître un texte d’aide qui vous indiquera les paramètres attendus par chaque fonction. Cela peut aider beaucoup lorsqu'il s'agit de comprendre comment l'utiliser..

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




Personne n'a encore commenté ce post.

De la technologie moderne, simple et abordable.
Votre guide dans le monde de la technologie moderne. Apprenez à utiliser les technologies et les gadgets qui nous entourent chaque jour et à découvrir des choses intéressantes sur Internet.