Selenium Tutoriel VBA Excel (Chrome Web Scrap)ping)

โšก Rรฉsumรฉ intelligent

Selenium VBA dans Excel automatise Google Chrome pour extraire des donnรฉes ร  partir de pages Web HTML, en utilisant Selenium bibliothรจque de types et mรฉthodes WebDriver pour ouvrir un site, localiser les รฉlรฉments du tableau par classe et รฉtiquette, et รฉcrire les rรฉsultats dans les cellules de la feuille de calcul.

  • ๐Ÿงฐ Selenium Pilote Web : VBA utilise le Selenium bibliothรจque de types pour piloter Google Chrome pour scraping.
  • ๐Ÿ“š Bibliothรจque de types : Le Selenium La bibliothรจque de types doit รชtre rรฉfรฉrencรฉe avant que les objets WebDriver puissent รชtre dรฉclarรฉs.
  • ๐Ÿš€ Dรฉmarrer et obtenir : La mรฉthode Start ouvre Chrome et la mรฉthode Get charge le site web cible URL.
  • ???? Localisateurs d'รฉlรฉments : Les fonctions FindElementByClass et FindElementsByTag permettent de localiser l'en-tรชte du tableau et les cellules de donnรฉes.
  • (I.e. ร‰crire dans les cellules : Une boucle For Each imbriquรฉe รฉcrit les valeurs d'en-tรชte et de ligne dans les cellules de la feuille de calcul.
  • ๐Ÿค– Assistance IA : Les copilotes IA aident ร  รฉcrire, dรฉboguer et maintenir Selenium Scripts VBA en fonction des modifications apportรฉes aux sites.

Selenium Tutoriel VBA Excel

Qu'est-ce que le Data Scrap ?ping L'utilisation de Selenium?

Selenium est un outil d'automatisation qui facilite la crรฉation de sites web.ping informations provenant de pages web HTML, exรฉcution de web scrapingping au Google ChromeDans Excel, Selenium Cette bibliothรจque de types permet ร  VBA de piloter un vรฉritable navigateur au lieu du moteur obsolรจte d'Internet Explorer.

Comment prรฉparer la macro Excel avant l'extraction de donnรฉesping L'utilisation de Selenium

Certaines opรฉrations prรฉalables doivent รชtre effectuรฉes sur le fichier macro Excel avant de dรฉmarrer l'extraction de donnรฉes.ping processus.

Les conditions prรฉalables sont les suivantes :

ร‰tape 1) Ouvrez une macro Excel et accรฉdez ร  l'option Dรฉveloppeur d'Excel.

Prรฉparer une macro Excel avant l'extraction de donnรฉesping grรขce ร   Selenium

ร‰tape 2) Sรฉlectionnez l'option Visual Basic sous l'onglet Dรฉveloppeur.

Prรฉparer une macro Excel avant l'extraction de donnรฉesping grรขce ร   Selenium

ร‰tape 3) Insรฉrez un nouveau module.

Prรฉparer une macro Excel avant l'extraction de donnรฉesping grรขce ร   Selenium

ร‰tape 4) Initialisez une nouvelle sous-routine et nommez-la test2.

Sub test2()
End Sub

Le rรฉsultat dans le module serait le suivant :

Prรฉparer une macro Excel avant l'extraction de donnรฉesping grรขce ร   Selenium

ร‰tape 5) Accรฉdez ร  l'option Rรฉfรฉrence sous l'onglet Outils et consultez la rรฉfรฉrence Selenium Bibliothรจque de types. Cette bibliothรจque permet d'ouvrir Google Chrome et facilite la programmation de macros.

Rรฉfรฉrences Selenium Bibliothรจque de types dans Excel VBA

Le fichier Excel est maintenant prรชt ร  interagir avec le navigateur. L'รฉtape suivante consiste ร  intรฉgrer un script macro qui facilite l'extraction de donnรฉes.ping en HTML.

Comment ouvrir Google Chrome Utilisation de VBA

Voici les รฉtapes ร  suivre pour ouvrir Google Chrome en utilisant VBA.

ร‰tape 1) Dรฉclarez et initialisez les variables dans la sous-routine comme indiquรฉ ci-dessous.

Sub test2()
Dim driver As New WebDriver
Dim rowc, cc, columnC As Integer

ร‰tape 2) Ouvrir Google Chrome grรขce ร  Selenium et VBA, รฉcrivez driver.Dรฉmarrez ยซ Chrome ยป et appuyez sur F5.

Ce qui suit serait le code.

Sub test2()
Dim driver As New WebDriver
Dim rowc, cc, columnC As Integer
driver.Start "Chrome"
Application.Wait Now + TimeValue("00:00:20")
End Sub

Le module donnerait le rรฉsultat suivant :

Ouvrez Google Chrome en utilisant VBA

Comment ouvrir un site web en Google Chrome Utilisation de VBA

Une fois que vous pouvez accรฉder Google Chrome L'รฉtape suivante, en utilisant VBA, consiste ร  accรฉder ร  un site web. Ceci est facilitรฉ par la fonction Get, oรน URL est transmis entre guillemets doubles.

Le module se prรฉsenterait comme suit :

Ouvrir le site Web dans Google Chrome en utilisant VBA

Appuyez sur F5 pour exรฉcuter la macro. La page Web suivante s'ouvrira dans Google Chrome comme montrรฉ.

Sub test2()
Dim driver As New WebDriver
Dim rowc, cc, columnC As Integer
driver.Start "Chrome"
driver.Get "https://demo.guru99.com/test/web-table-element.php"
Application.Wait Now + TimeValue("00:00:20")
End Sub

Ouvrir le site Web dans Google Chrome en utilisant VBA

La macro Excel est maintenant prรชte ร  exรฉcuter le processus.ping tรขches. L'รฉtape suivante montre comment l'information peut รชtre extracted en appliquant Selenium et VBA.

Comment extraire des informations d'un site web ร  l'aide de VBA

Supposons qu'un trader souhaite accรฉder quotidiennement aux donnรฉes du site web. ร€ chaque clic sur le bouton, les donnรฉes de marchรฉ devraient รชtre automatiquement importรฉes dans Excel.

Sur le site web mentionnรฉ ci-dessus, il est nรฉcessaire d'inspecter un รฉlรฉment et d'observer la structure des donnรฉes. Accรฉdez au code source HTML ci-dessous en appuyant sur Ctrl + . Shift + Je.

<table class="datatable">
<thead>
<tr>
<th>Company</th>
<th>Group</th>
<th>Pre Close (Rs)</th>
<th>Current Price (Rs)</th>
<th>% Change</th>
</tr>

Comme vous pouvez le constater, les donnรฉes sont structurรฉes dans un seul tableau HTML. Par consรฉquent, pour extraire l'intรฉgralitรฉ des donnรฉes de ce tableau, vous devez concevoir une macro qui rรฉcupรจre les informations d'en-tรชte et les donnรฉes correspondantes. Procรฉdez comme suit.

ร‰tape 1) Formulez une boucle For qui parcourt les informations d'en-tรชte HTML sous forme de collection. Selenium Le pilote localise les informations d'en-tรชte ร  l'aide des mรฉthodes FindElementByClass() et FindElementByTag(), comme indiquรฉ.

Sub test2()
Dim driver As New WebDriver
Dim rowc, cc, columnC As Integer
rowc = 2
Application.ScreenUpdating = False
driver.Start "chrome"
driver.Get "https://demo.guru99.com/test/web-table-element.php"
For Each th In driver.FindElementByClass("dataTable").FindElementByTag("thead").FindElementsByTag("tr")
cc = 1
For Each t In th.FindElementsByTag("th")
Sheet2.Cells(1, cc).Value = t.Text
cc = cc + 1
Next t
Next th

ร‰tape 2) Ensuite, le Selenium Le pilote localise les donnรฉes de la table en utilisant une approche similaire. ร‰crivez le code suivant :

Sub test2()
Dim driver As New WebDriver
Dim rowc, cc, columnC As Integer
rowc = 2
Application.ScreenUpdating = False
driver.Start "chrome"
driver.Get "https://demo.guru99.com/test/web-table-element.php"
For Each th In driver.FindElementByClass("dataTable").FindElementByTag("thead").FindElementsByTag("tr")
cc = 1
For Each t In th.FindElementsByTag("th")
Sheet2.Cells(1, cc).Value = t.Text
cc = cc + 1
Next t
Next th
For Each tr In driver.FindElementByClass("dataTable").FindElementByTag("tbody").FindElementsByTag("tr")
columnC = 1
For Each td In tr.FindElementsByTag("td")
Sheet2.Cells(rowc, columnC).Value = td.Text
columnC = columnC + 1
Next td
rowc = rowc + 1
Next tr
Application.Wait Now + TimeValue("00:00:20")
End Sub

Excel peut รชtre initialisรฉ ร  l'aide de l'attribut Range ou de l'attribut Cells de la feuille. Afin de simplifier le script VBA, les donnรฉes de la collection sont initialisรฉes dans l'attribut Cells de la feuille 2 du classeur. L'attribut Text permet d'insรฉrer le texte sous une balise HTML.

Sub test2()
Dim driver As New WebDriver
Dim rowc, cc, columnC As Integer
rowc = 2
Application.ScreenUpdating = False
driver.Start "chrome"
driver.Get "https://demo.guru99.com/test/web-table-element.php"
For Each th In driver.FindElementByClass("dataTable").FindElementByTag("thead").FindElementsByTag("tr")
cc = 1
For Each t In th.FindElementsByTag("th")
Sheet2.Cells(1, cc).Value = t.Text
cc = cc + 1
Next t
Next th
For Each tr In driver.FindElementByClass("dataTable").FindElementByTag("tbody").FindElementsByTag("tr")
columnC = 1
For Each td In tr.FindElementsByTag("td")
Sheet2.Cells(rowc, columnC).Value = td.Text
columnC = columnC + 1
Next td
rowc = rowc + 1
Next tr
Application.Wait Now + TimeValue("00:00:20")
End Sub

Le module VBA se prรฉsenterait comme suit :

Rรฉcupรฉrer des informations sur un site Web ร  l'aide de VBA

ร‰tape 3) Une fois le script macro prรชt, associez la sous-routine ร  un bouton Excel et quittez le module VBA. Nommez le bouton ยซ Actualiser ยป ou tout autre nom appropriรฉ. Dans cet exemple, le bouton sโ€™appelle simplement ยซ Actualiser ยป.

Rรฉcupรฉrer des informations sur un site Web ร  l'aide de VBA

ร‰tape 4) Appuyez sur le bouton Actualiser pour obtenir le rรฉsultat ci-dessous.

Rรฉcupรฉrer des informations sur un site Web ร  l'aide de VBA

ร‰tape 5) Comparez les rรฉsultats obtenus dans Excel avec les rรฉsultats obtenus dans Google Chrome.

Rรฉcupรฉrer des informations sur un site Web ร  l'aide de VBA

FAQ

Excel a besoin de Selenium Bibliothรจque de types, installรฉe via SeleniumCette bibliothรจque de base, rรฉfรฉrencรฉe dans l'รฉditeur VBA sous Outils > Rรฉfรฉrences, fournit l'objet WebDriver et des mรฉthodes telles que Start, Get et FindElementByClass, utilisรฉes pour automatiser le navigateur.

Selenium VBA peut piloter Google ChromeMozilla Firefox, Microsoft Edgeet Internet Explorer. Chrome est le navigateur le plus courant. Chaque navigateur nรฉcessite son propre pilote WebDriver, et le mรชme code VBA peut รชtre utilisรฉ d'un navigateur ร  l'autre avec des modifications minimes.

Le Mรฉthode Internet Explorer Utilise la bibliothรจque d'objets HTML et uniquement Internet Explorer, qui est obsolรจte. Selenium Il prend en charge les navigateurs modernes tels que Chrome et offre une compatibilitรฉ multi-navigateurs ainsi qu'une localisation des รฉlรฉments plus fiable.

Oui. Les copilotes IA peuvent gรฉnรฉrer Selenium Le code VBA est gรฉnรฉrรฉ ร  partir d'une description, suggรฉrant des localisateurs d'รฉlรฉments et facilitant le dรฉbogage. Lors de modifications d'un site web, l'IA peut proposer des sรฉlecteurs mis ร  jour, rรฉduisant ainsi le travail manuel de maintenance du code.ping macro.

L'IA ajoute la dรฉtection intelligente des รฉlรฉments, les commandes en langage naturel et des localisateurs auto-rรฉparateurs ร  l'automatisation du navigateur. Ces fonctionnalitรฉs d'apprentissage automatique permettent aux outils de s'adapter automatiquement aux changements de mise en page, simplifiant ainsi la crรฉation de sites web.ping et des tests plus robustes que des scripts fixes et codรฉs en dur.

Rรฉsumez cet article avec :