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.

  • 🧰 Selenium Web Sürücüsü: VBA şunu kullanır: Selenium tür kütüphanesini sürmek Google Chrome hurda içinping.
  • 📚 Tür Kütüphanesi: MKS Selenium WebDriver nesneleri tanımlanmadan önce tür kitaplığına referans verilmelidir.
  • ???? Başlayın ve Elde Edin: Start metodu Chrome'u açar ve Get metodu hedef web sitesini yükler. URL.
  • 🔎 Element Bulucular: FindElementByClass ve FindElementsByTag fonksiyonları tablo başlığını ve veri hücrelerini bulur.
  • 📊 Hücrelere Yaz: İç içe geçmiş bir For Each döngüsü, başlık ve satır değerlerini çalışma sayfası hücrelerine yazar.
  • 🤖 Yapay Zeka Yardımı: Yapay zekâ yardımcı pilotları yazma, hata ayıklama ve bakım konularında yardımcı oluyor. Selenium Siteler değiştikçe VBA komut dosyaları da güncellenir.

Selenium VBA Excel Eğitimi

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.

Veri kazıma işleminden önce Excel Makrosu hazırlayın.ping kullanma Selenium

) 2 Adım Geliştirici şeridi altında Visual Basic seçeneğini seçin.

Veri kazıma işleminden önce Excel Makrosu hazırlayın.ping kullanma Selenium

) 3 Adım Yeni bir modül ekleyin.

Veri kazıma işleminden önce Excel Makrosu hazırlayın.ping kullanma Selenium

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

Veri kazıma işleminden önce Excel Makrosu hazırlayın.ping kullanma Selenium

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

Referans Selenium Excel VBA'da Tür Kütüphanesi

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:

Açılış Google Chrome VBA'yı kullanma

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

Web sitesini aç Google Chrome VBA'yı kullanma

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

Web sitesini aç Google Chrome VBA'yı kullanma

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:

VBA kullanarak Web Sitesinden Bilgi Kazıyın

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

VBA kullanarak Web Sitesinden Bilgi Kazıyın

) 4 Adım Aşağıdaki çıktıyı görmek için Yenile düğmesine basın.

VBA kullanarak Web Sitesinden Bilgi Kazıyın

) 5 Adım Excel'deki sonuçları diğer sonuçlarla karşılaştırın. Google Chrome.

VBA kullanarak Web Sitesinden Bilgi Kazıyın

SSS

Excel'in ihtiyacı var Selenium Tip Kütüphanesi, şu yolla kuruldu: SeleniumVBA düzenleyicisinde Araçlar, Referanslar altında bulunan Basic kütüphanesi, tarayıcıyı otomatikleştirmek için kullanılan WebDriver nesnesini ve Start, Get ve FindElementByClass gibi yöntemleri sağlar.

Selenium VBA, sürücülük yapabilir. Google Chrome, Mozilla Firefox, Microsoft Edgeve Internet Explorer. Chrome en yaygın tercihtir. Her tarayıcının kendine uygun bir WebDriver'a ihtiyacı vardır ve aynı VBA kodu, minimum değişikliklerle tarayıcılar arasında geçiş yapabilir.

MKS Internet Explorer yöntemi HTML Nesne Kütüphanesini kullanır ve yalnızca artık desteklenmeyen Internet Explorer'ı destekler. Selenium Chrome gibi modern tarayıcıları destekler ve çoklu tarayıcı desteği ile daha güvenilir öğe konumlandırması sunar.

Evet. Yapay zekâ destekli yardımcı pilotlar üretebilir. Selenium Açıklamalardan VBA kodu oluşturun, öğe konumlandırıcıları önerin ve hataları ayıklamaya yardımcı olun. Bir web sitesi değiştiğinde, yapay zeka güncellenmiş seçiciler önerebilir ve böylece manuel bakım çabasını azaltabilir.ping makrolar.

Yapay zeka, tarayıcı otomasyonuna akıllı öğe algılama, doğal dil komutları ve kendi kendini onaran konum belirleyiciler ekler. Bu makine öğrenimi özellikleri, araçların düzen değişikliklerine otomatik olarak uyum sağlamasına olanak tanıyarak, çizim işlemlerini kolaylaştırır.ping ve test etme, sabit, kodlanmış komut dosyalarına göre daha dayanıklıdır.

Bu yazıyı şu şekilde özetleyin: