Selenium Εκμάθηση VBA Excel (Chrome Web Scra)ping)

⚡ Έξυπνη Σύνοψη

Selenium Η VBA στο Excel αυτοματοποιεί Google Chrome για την εξαγωγή δεδομένων από ιστοσελίδες HTML, χρησιμοποιώντας το Selenium Χρησιμοποιήστε τις μεθόδους βιβλιοθήκης τύπων και WebDriver για να ανοίξετε έναν ιστότοπο, να εντοπίσετε στοιχεία πίνακα ανά κλάση και ετικέτα και να γράψετε τα αποτελέσματα σε κελιά φύλλου εργασίας.

  • 🧰 Selenium WebDriver: Η VBA χρησιμοποιεί το Selenium βιβλιοθήκη τύπων για οδήγηση Google Chrome για γρατζουνιέςping.
  • 📚 Βιβλιοθήκη τύπων: The Selenium Η βιβλιοθήκη τύπων πρέπει να αναφέρεται πριν από τη δήλωση αντικειμένων WebDriver.
  • 🚀 Ξεκινήστε και αποκτήστε: Η μέθοδος Start ανοίγει το Chrome και η μέθοδος Get φορτώνει τον ιστότοπο-στόχο URL.
  • 🔎 Εντοπιστές Στοιχείων: Οι συναρτήσεις FindElementByClass και FindElementsByTag εντοπίζουν την κεφαλίδα του πίνακα και τα κελιά δεδομένων.
  • 📊 Εγγραφή σε κελιά: Ένας ένθετος βρόχος For Each γράφει τιμές κεφαλίδας και γραμμής σε κελιά φύλλου εργασίας.
  • 🤖 Βοήθεια AI: Οι συγκυβερνήτες τεχνητής νοημοσύνης βοηθούν στη σύνταξη, τον εντοπισμό σφαλμάτων και τη συντήρηση Selenium Τα σενάρια VBA καθώς αλλάζουν οι ιστότοποι.

Selenium Εκμάθηση VBA Excel

Τι είναι το Data Scraping Χρησιμοποιώντας Selenium?

Selenium είναι ένα εργαλείο αυτοματισμού που διευκολύνει το scraping πληροφορίες από ιστοσελίδες HTML, εκτελώντας web scraping μαζί σου, Google ChromeΣτο Excel, το Selenium Η βιβλιοθήκη τύπων επιτρέπει στην VBA να οδηγεί ένα πραγματικό πρόγραμμα περιήγησης αντί για τον παρωχημένο μηχανισμό του Internet Explorer.

Πώς να προετοιμάσετε τη μακροεντολή του Excel πριν από το Data Scraping Χρησιμοποιώντας Selenium

Υπάρχουν ορισμένες προϋποθέσεις που πρέπει να εκτελεστούν στο αρχείο μακροεντολών του Excel πριν από την έναρξη της σάρωσης δεδομένων.ping διαδικασία.

Αυτές οι προϋποθέσεις είναι οι εξής:

Βήμα 1) Ανοίξτε μια μακροεντολή που βασίζεται στο Excel και αποκτήστε πρόσβαση στην επιλογή Προγραμματιστής του Excel.

Προετοιμασία μακροεντολής Excel πριν από το Data Scraping   Selenium

Βήμα 2) Επιλέξτε την επιλογή Visual Basic στην κορδέλα Προγραμματιστής.

Προετοιμασία μακροεντολής Excel πριν από το Data Scraping   Selenium

Βήμα 3) Εισαγάγετε μια νέα μονάδα.

Προετοιμασία μακροεντολής Excel πριν από το Data Scraping   Selenium

Βήμα 4) Αρχικοποιήστε μια νέα υπορουτίνα και ονομάστε την test2.

Sub test2()
End Sub

Το αποτέλεσμα στην ενότητα θα είναι το εξής:

Προετοιμασία μακροεντολής Excel πριν από το Data Scraping   Selenium

Βήμα 5) Αποκτήστε πρόσβαση στην επιλογή Αναφορά στην καρτέλα Εργαλεία και ανατρέξτε στο Selenium Βιβλιοθήκη τύπων. Αυτή η βιβλιοθήκη βοηθά στο άνοιγμα Google Chrome και διευκολύνει τη δημιουργία μακροεντολών.

Αναφορά Selenium Βιβλιοθήκη τύπων στο Excel VBA

Τώρα, το αρχείο Excel είναι έτοιμο για αλληλεπίδραση με το πρόγραμμα περιήγησης. Το επόμενο βήμα είναι η ενσωμάτωση ενός σεναρίου μακροεντολών που διευκολύνει την επεξεργασία δεδομένων.ping σε HTML.

Πώς να ανοίξετε Google Chrome Χρησιμοποιώντας VBA

Εδώ είναι τα βήματα για να ανοίξετε Google Chrome χρησιμοποιώντας VBA.

Βήμα 1) Δηλώστε και αρχικοποιήστε τις μεταβλητές στην υπορουτίνα όπως φαίνεται παρακάτω.

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

Βήμα 2) Για να ανοίξω Google Chrome Selenium και VBA, γράψτε το πρόγραμμα οδήγησης. Ξεκινήστε το "Chrome" και πατήστε F5.

Ο παρακάτω θα ήταν ο κωδικός.

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

Η ενότητα θα έχει ως εξής:

Ανοικτό Google Chrome χρησιμοποιώντας VBA

Πώς να ανοίξετε έναν ιστότοπο στο Google Chrome Χρησιμοποιώντας VBA

Μόλις έχετε πρόσβαση Google Chrome χρησιμοποιώντας VBA, το επόμενο βήμα είναι η πρόσβαση σε έναν ιστότοπο χρησιμοποιώντας VBA. Αυτό διευκολύνεται από τη συνάρτηση Get, όπου η URL διαβιβάζεται ως διπλά εισαγωγικά.

Η ενότητα θα έχει την εξής μορφή:

Άνοιγμα ιστότοπου σε Google Chrome χρησιμοποιώντας VBA

Πατήστε F5 για να εκτελέσετε τη μακροεντολή. Η ακόλουθη ιστοσελίδα θα ανοίξει σε Google Chrome όπως φαίνεται.

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

Άνοιγμα ιστότοπου σε Google Chrome χρησιμοποιώντας VBA

Τώρα η μακροεντολή του Excel είναι έτοιμη να εκτελέσει το scraping εργασίες. Το επόμενο βήμα δείχνει πώς οι πληροφορίες μπορούν να μεταφερθούνtracted με την εφαρμογή Selenium και VBA.

Πώς να αποκόψετε πληροφορίες από έναν ιστότοπο χρησιμοποιώντας VBA

Ας υποθέσουμε ότι ο ημερήσιος επενδυτής θέλει να έχει πρόσβαση στα δεδομένα από τον ιστότοπο καθημερινά. Κάθε φορά που κάνει κλικ στο κουμπί, θα πρέπει να εισάγει αυτόματα τα δεδομένα της αγοράς στο Excel.

Από τον παραπάνω ιστότοπο, είναι απαραίτητο να ελέγξετε ένα στοιχείο και να παρατηρήσετε πώς είναι δομημένα τα δεδομένα. Αποκτήστε πρόσβαση στον πηγαίο κώδικα του παρακάτω HTML πατώντας Control + Shift + Εγώ.

<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>

Όπως μπορείτε να δείτε, τα δεδομένα είναι δομημένα ως ένας ενιαίος πίνακας HTML. Επομένως, για να αντλήσετε ολόκληρα τα δεδομένα από τον πίνακα HTML, πρέπει να σχεδιάσετε μια μακροεντολή που αντλεί τις πληροφορίες κεφαλίδας και τα αντίστοιχα δεδομένα που σχετίζονται με τον πίνακα. Εκτελέστε τις παρακάτω εργασίες.

Βήμα 1) Διαμορφώστε έναν βρόχο For που εκτελείται μέσω των πληροφοριών της κεφαλίδας HTML ως συλλογή. Selenium Το πρόγραμμα οδήγησης εντοπίζει τις πληροφορίες κεφαλίδας χρησιμοποιώντας τις μεθόδους FindElementByClass() και FindElementByTag(), όπως φαίνεται.

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

Βήμα 2) Στη συνέχεια, η Selenium Το πρόγραμμα οδήγησης εντοπίζει τα δεδομένα του πίνακα χρησιμοποιώντας μια παρόμοια προσέγγιση. Γράψτε τον ακόλουθο κώδικα:

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 μπορεί να αρχικοποιηθεί χρησιμοποιώντας το χαρακτηριστικό Range ή το χαρακτηριστικό Cells του φύλλου. Για να μειωθεί η πολυπλοκότητα του σεναρίου VBA, τα δεδομένα συλλογής αρχικοποιούνται στο χαρακτηριστικό Cells του Φύλλου 2 στο βιβλίο εργασίας. Το χαρακτηριστικό Text βοηθά στην τοποθέτηση του κειμένου κάτω από μια ετικέτα 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

Η ενότητα VBA θα έχει την εξής μορφή:

Ξύστε πληροφορίες από τον ιστότοπο χρησιμοποιώντας VBA

Βήμα 3) Μόλις η δέσμη ενεργειών μακροεντολής είναι έτοιμη, αντιστοιχίστε την υπορουτίνα σε ένα κουμπί του Excel και κλείστε τη λειτουργική μονάδα VBA. Ονομάστε το κουμπί ως Ανανέωση ή οποιοδήποτε κατάλληλο όνομα. Για αυτό το παράδειγμα, το κουμπί φέρει την ετικέτα Ανανέωση.

Ξύστε πληροφορίες από τον ιστότοπο χρησιμοποιώντας VBA

Βήμα 4) Πατήστε το κουμπί Ανανέωση για να λάβετε το παρακάτω αποτέλεσμα.

Ξύστε πληροφορίες από τον ιστότοπο χρησιμοποιώντας VBA

Βήμα 5) Συγκρίνετε τα αποτελέσματα στο Excel με τα αποτελέσματα στο Google Chrome.

Ξύστε πληροφορίες από τον ιστότοπο χρησιμοποιώντας VBA

Συχνές Ερωτήσεις

Το Excel χρειάζεται το Selenium Βιβλιοθήκη τύπων, εγκατεστημένη μέσω SeleniumΒασικό, αναφέρεται στον επεξεργαστή VBA στην ενότητα Εργαλεία, Αναφορές. Αυτή η βιβλιοθήκη παρέχει το αντικείμενο WebDriver και μεθόδους όπως Start, Get και FindElementByClass που χρησιμοποιούνται για την αυτοματοποίηση του προγράμματος περιήγησης.

Selenium Η VBA μπορεί να οδηγήσει Google Chrome, Μοζίλα Firefox, Microsoft Edgeκαι Internet Explorer. Το Chrome είναι η πιο συνηθισμένη επιλογή. Κάθε πρόγραμμα περιήγησης χρειάζεται το αντίστοιχο WebDriver και ο ίδιος κώδικας VBA μπορεί να αλλάξει προγράμματα περιήγησης με ελάχιστες αλλαγές.

The Μέθοδος Internet Explorer χρησιμοποιεί τη Βιβλιοθήκη αντικειμένων HTML και μόνο τον IE, ο οποίος έχει καταργηθεί. Selenium Υποστηρίζει σύγχρονα προγράμματα περιήγησης όπως το Chrome και προσφέρει υποστήριξη πολλαπλών προγραμμάτων περιήγησης και πιο αξιόπιστη τοποθεσία στοιχείων.

Ναι. Οι συγκυβερνήτες τεχνητής νοημοσύνης μπορούν να δημιουργήσουν Selenium Κώδικας VBA από μια περιγραφή, προτείνει εντοπιστές στοιχείων και βοηθά στην αντιμετώπιση σφαλμάτων. Όταν ένας ιστότοπος αλλάζει, η Τεχνητή Νοημοσύνη μπορεί να προτείνει ενημερωμένους επιλογείς, μειώνοντας την χειροκίνητη προσπάθεια διατήρησης του scra.ping μακροεντολές.

Η τεχνητή νοημοσύνη προσθέτει έξυπνη ανίχνευση στοιχείων, εντολές φυσικής γλώσσας και αυτοεπιδιορθούμενους εντοπιστές στον αυτοματισμό του προγράμματος περιήγησης. Αυτές οι λειτουργίες μηχανικής μάθησης επιτρέπουν στα εργαλεία να προσαρμόζονται αυτόματα στις αλλαγές διάταξης, καθιστώντας το scra...ping και δοκιμές πιο ανθεκτικές από τα σταθερά, σκληρά κωδικοποιημένα σενάρια.

Συνοψίστε αυτήν την ανάρτηση με: