Selenium ile Veri Çekme

Astalavista58

Altın Üye
Katılım
20 Ocak 2020
Mesajlar
242
Excel Vers. ve Dili
Office 2016 TR 64 Bit
Altın Üyelik Bitiş Tarihi
20-02-2025
Merhabalar, herkese hayırlı akşamlar dilerim. Sizlerin küçük bir yardımına ihtiyacım var.
Bir kamu kurumunda görev yapıyorum, Selenium ile Chrome açıp, istediğim sayfaya gidip, butona TC yazdırıp, sonra aratabiliyorum.
Yani ekte bulunan resimdeki yere kadar gelebiliyorum. Ekteki resimde mavi olarak beliren yerdeki yazanları Excel aktarmak istiyorum. Bu mavi alanlar hatalı satırlar anlamına geliyor, birden fazla olabiliyor ve hatalı alanların açıklamasında resimdeki gibi hep "Color Red" yazıyor. Benim yapmak istediğim ise,
Ekteki excelde A sütunudaki TC'leri sırasıyla sorgulamak ve hatalı kayıtları (Color Red yazanları) kaç tane ise TC'sinin karşısına yazdırmak.
Site sadece kuruma özel olduğundan normal internet ile girmek mümkün olmuyor. Bir yol gösterebilirseniz, işlerim gerçekten çok kolaylaşacak, şimdiden çok teşekkür ediyorum.

TC'lerin yazıldığı yerin id'si "txtTCNO"
Sorgula butonunun id'si "btnTCNO"
 

Ekli dosyalar

Astalavista58

Altın Üye
Katılım
20 Ocak 2020
Mesajlar
242
Excel Vers. ve Dili
Office 2016 TR 64 Bit
Altın Üyelik Bitiş Tarihi
20-02-2025
Kod:
Sub Search()

    ' Selenium kütüphanesini yükle
    Dim baglan As New WebDriver
    baglan.Start "chrome", "https://www.siteismi.com"
    
    ' www.siteismi.com sitesine gidin
    baglan.Get "/"
    
    ' Excel'de son satıra kadar sırayla sorgulama yapın
    Dim lastRow As Long
    lastRow = ActiveSheet.cells(rows.Count, "A").End(xlUp).Row
    For i = 1 To lastRow
        
        ' ID'si "txtSicilTCNO" olan giriş kutusuna veri yazdırın
        baglan.FindElementById("txtSicilTCNO").SendKeys cells(i, 1).Value
        
        ' ID'si "btnSicilTCNO" olan düğmeyi tıklayın
        baglan.FindElementById("btnSicilTCNO").Click
        
        ' ID'si "grdHizmetKontrol" olan tabloyu alın
        Dim table As WebElement
        Set table = baglan.FindElementById("grdHizmetKontrol")
        
        ' Tablodaki her satırı döngüye alın
        Dim rows As WebElements
        Set rows = table.FindElementsByTag("tr")
        For j = 1 To rows.Count
            ' Satırın rengini kontrol edin
            If rows(j).CssValue("color") = "rgb(255, 0, 0)" Then
                ' Satırdaki her hücreyi döngüye alın ve Excel'e yazdırın
                Dim cells As WebElements
                Set cells = rows(j).FindElementsByTag("td")
                For k = 0 To cells.Count - 1
                    ActiveSheet.cells(i, Columns.Count).End(xlToLeft).Offset(0, 1 + k).Value = cells(k).Text
                Next k
            End If
        Next j
        
        ' ID'si "txtSicilTCNO" olan giriş kutusunu temizleyin
        baglan.FindElementById("txtSicilTCNO").Clear
        
    Next i
    
    ' Chrome'u kapatın
    baglan.Quit

End Sub
Yapay zeka desteği ile şöyle bir kod ortaya çıktı, şuan deneme şansım olmadığı için sizlere de sormak istiyorum, bu kodda görünen bir hata var mıdır ?
 
Üst