Selenium VBA Excel Eğitimi (Chrome Web Tarayıcı)ping)
⚡ Akıllı Özet
Selenium Excel'de VBA otomasyonu sağlar. Google Chrome HTML web sayfalarından veri çekmek için, aşağıdaki yöntemi kullanarak: Selenium Siteyi açmak, tablo öğelerini sınıf ve etikete göre bulmak ve sonuçları çalışma sayfası hücrelerine yazmak için tür kitaplığı ve WebDriver yöntemleri.

Veri Tarama Nedir?ping kullanma Selenium?
Selenium Kazıma işlemlerini kolaylaştıran bir otomasyon aracıdır.ping HTML web sayfalarından bilgi alma, web tarama işlemleri gerçekleştirmeping 'da Google ChromeExcel'de, Selenium Tür kitaplığı, VBA'nın kullanım dışı bırakılmış Internet Explorer motoru yerine gerçek bir tarayıcıyı çalıştırmasına olanak tanır.
Veri Kazıma İşleminden Önce Excel Makrosu Nasıl Hazırlanır?ping kullanma Selenium
Veri tarama işlemine başlamadan önce Excel makro dosyasında yerine getirilmesi gereken bazı ön koşullar bulunmaktadır.ping proses.
Bu ön koşullar aşağıdaki gibidir:
) 1 Adım Excel tabanlı bir makro açın ve Excel'in Geliştirici seçeneklerine erişin.
) 2 Adım Geliştirici şeridi altında Visual Basic seçeneğini seçin.
) 3 Adım Yeni bir modül ekleyin.
) 4 Adım Yeni bir alt program başlatın ve adını test2 olarak belirleyin.
Sub test2() End Sub
Modülün sonucu aşağıdaki gibi olacaktır:
) 5 Adım Araçlar sekmesi altındaki Referans seçeneğine erişin ve referans gösterin. Selenium Tür Kütüphanesi. Bu kütüphane, açmaya yardımcı olur. Google Chrome ve makro komut dosyası oluşturmayı kolaylaştırır.
Artık Excel dosyası tarayıcıyla etkileşime geçmeye hazır. Sonraki adım, veri taramasını kolaylaştıran bir makro komut dosyası eklemektir.ping HTML formatında.
Nasıl Açılır Google Chrome VBA'yı kullanma
İşte açmak için adımlar: Google Chrome VBA kullanarak.
) 1 Adım Alt programda değişkenleri aşağıdaki gibi tanımlayın ve başlatın.
Sub test2() Dim driver As New WebDriver Dim rowc, cc, columnC As Integer
) 2 Adım Açmak Google Chrome kullanma Selenium ve VBA, driver yazın. "Chrome"u başlatın ve F5 tuşuna basın.
Kod aşağıdaki gibidir.
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
Modülün sonucu aşağıdaki gibi olacaktır:
İnternette Nasıl Web Sitesi Açılır? Google Chrome VBA'yı kullanma
Erişim sağlayabildiğinizde Google Chrome VBA kullanarak, bir sonraki adım VBA kullanarak bir web sitesine erişmektir. Bu, Get fonksiyonu aracılığıyla kolaylaştırılır; burada URL Çift tırnak içinde iletilir.
Modül aşağıdaki gibi görünecektir:
Makroyu çalıştırmak için F5 tuşuna basın. Aşağıdaki web sayfası açılacaktır. Google Chrome gosterildigi gibi.
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
Artık Excel makrosu kazıma işlemini gerçekleştirmeye hazır.ping Görevler. Bir sonraki adımda bilgilerin nasıl kullanılabileceği gösteriliyor.tracuygulayarak Selenium ve VBA.
VBA Kullanarak Bir Web Sitesinden Bilgi Nasıl Çekilir?
Diyelim ki günlük işlem yapan bir yatırımcı, internet sitesindeki verilere her gün erişmek istiyor. Yatırımcı her düğmeye tıkladığında, piyasa verilerinin otomatik olarak Excel'e aktarılması gerekiyor.
Yukarıdaki web sitesinden, bir öğeyi incelemek ve verilerin nasıl yapılandırıldığını gözlemlemek gerekmektedir. Ctrl + tuşlarına basarak aşağıdaki HTML kaynak koduna erişebilirsiniz. Shift +I.
<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>
Gördüğünüz gibi, veriler tek bir HTML tablosu olarak yapılandırılmıştır. Bu nedenle, HTML tablosundan tüm verileri çekmek için, başlık bilgilerini ve tabloyla ilişkili ilgili verileri çeken bir makro tasarlamanız gerekir. Aşağıdaki görevleri gerçekleştirin.
) 1 Adım HTML başlık bilgilerini bir koleksiyon olarak işleyen bir For döngüsü oluşturun. Selenium Sürücü, gösterildiği gibi FindElementByClass() ve FindElementByTag() yöntemlerini kullanarak başlık bilgilerini bulur.
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 Adım Sonraki, Selenium Sürücü, benzer bir yaklaşım kullanarak tablo verilerini bulur. Aşağıdaki kodu yazın:
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'de veriler, sayfanın Range özniteliği veya Cells özniteliği kullanılarak başlatılabilir. VBA betiğinin karmaşıklığını azaltmak için, koleksiyon verileri çalışma kitabındaki 2. sayfanın Cells özniteliğine başlatılır. Text özniteliği, HTML etiketi altına yerleştirilen metni elde etmeye yardımcı olur.
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 modülü aşağıdaki gibi görünecektir:
) 3 Adım Makro betiği hazır olduğunda, alt programı bir Excel düğmesine atayın ve VBA modülünden çıkın. Düğmeyi Yenile veya uygun bir adla etiketleyin. Bu örnekte, düğme Yenile olarak etiketlenmiştir.
) 4 Adım Aşağıdaki çıktıyı görmek için Yenile düğmesine basın.
) 5 Adım Excel'deki sonuçları diğer sonuçlarla karşılaştırın. Google Chrome.












