Selenium Οδηγός VBA Excel: Παράδειγμα απόξεσης ιστού Chrome

Τι είναι η απόξεση δεδομένων με χρήση σεληνίου;

Selenium μπορεί να ταξινομηθεί ως το εργαλείο αυτοματισμού που διευκολύνει την απόξεση πληροφοριών από τις ιστοσελίδες HTML για την εκτέλεση απόξεσης ιστού χρησιμοποιώντας το google chrome.

Πώς να προετοιμάσετε τη μακροεντολή Excel πριν από την εκτέλεση της απόξεσης δεδομένων χρησιμοποιώντας Selenium?

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

Τα προαπαιτούμενα αυτά είναι τα εξής: –

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

Προετοιμάστε τη μακροεντολή Excel πριν από την εκτέλεση της απόξεσης δεδομένων

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

Προετοιμάστε τη μακροεντολή Excel πριν από την εκτέλεση της απόξεσης δεδομένων

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

Προετοιμάστε τη μακροεντολή Excel πριν από την εκτέλεση της απόξεσης δεδομένων

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

Sub test2()
End sub

Τα αποτελέσματα στην ενότητα θα είναι τα ακόλουθα: –

Προετοιμάστε τη μακροεντολή Excel πριν από την εκτέλεση της απόξεσης δεδομένων

Βήμα 5) Πρόσβαση στην επιλογή αναφοράς κάτω από την καρτέλα εργαλείου και αναφορά Selenium βιβλιοθήκη τύπου. Οι παρακάτω βιβλιοθήκες πρέπει να αναφέρονται στη μονάδα, καθώς βοηθά στο άνοιγμα του google chrome και διευκολύνει την ανάπτυξη δέσμης ενεργειών μακροεντολών.

Προετοιμάστε τη μακροεντολή Excel πριν από την εκτέλεση της απόξεσης δεδομένων

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

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

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

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

Sub test2()
Dim driver as new webdriver
Dim rowc, cc, columnC as integer

Βήμα 2) Για να ανοίξετε το google chrome χρησιμοποιώντας σελήνιο και VBA, γράψτε driver.start "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. Αυτό διευκολύνεται από τη συνάρτηση λήψης όπου η διεύθυνση 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 είναι έτοιμη όσον αφορά την εκτέλεση των εργασιών απόξεσης. Το επόμενο βήμα θα εμφανίσει πώς μπορούν να εξαχθούν οι πληροφορίες εφαρμόζοντας σελήνιο και VBA.

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

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

Από τον παραπάνω ιστότοπο, θα ήταν απαραίτητο να επιθεωρήσετε ένα στοιχείο και να παρατηρήσετε πώς είναι δομημένα τα δεδομένα. Αποκτήστε πρόσβαση στον παρακάτω πηγαίο κώδικα HTML πατώντας το πλήκτρο + 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, θα απαιτούσε τη σχεδίαση μακροεντολής που θα αντλεί τις πληροφορίες κεφαλίδας του πίνακα HTML και τα αντίστοιχα δεδομένα που σχετίζονται με τον πίνακα. Εκτελέστε τις ακόλουθες εργασίες όπως εμφανίζεται: –

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

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

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) Στη συνέχεια, ο οδηγός σεληνίου θα εντόπισε τα δεδομένα του πίνακα χρησιμοποιώντας την παρόμοια προσέγγιση, όπως αναφέρθηκε παραπάνω. Πρέπει να γράψετε τον ακόλουθο κώδικα: –

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 θα έχει την εξής μορφή: –

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

Σύνοψη

  • Selenium μπορεί να ταξινομηθεί ως το εργαλείο αυτοματισμού που διευκολύνει την απόξεση πληροφοριών από τις ιστοσελίδες HTML για την εκτέλεση απόξεσης ιστού χρησιμοποιώντας το google chrome.
  • Η απόξεση στο διαδίκτυο πρέπει να γίνεται προσεκτικά.
  • Συνήθως είναι αντίθετο με τους όρους του ιστότοπου η απόσυρση πληροφοριών.
  • Όταν η απόξεση γίνεται μέσω σεληνίου, τότε προσφέρει υποστήριξη πολλαπλών προγραμμάτων περιήγησης.
  • Με άλλα λόγια, η ξύστρα μπορεί να εκτελέσει παρόμοιες εργασίες απόξεσης Firefox, Internet Explorer επίσης.

Ημερήσιο ενημερωτικό δελτίο Guru99

Ξεκινήστε τη μέρα σας με τις πιο πρόσφατες και πιο σημαντικές ειδήσεις για την Τεχνητή Νοημοσύνη, τώρα.