Aydem elektrik borç sorgulama

onder_09

Altın Üye
Katılım
17 Mart 2017
Mesajlar
201
Excel Vers. ve Dili
2016 türkçe
Altın Üyelik Bitiş Tarihi
19-07-2025
Herkese öncelikle iyi günler kolay gelsin soracağım soru olur mu olmaz mı olursa nasıl olur bilmiyorum elimde birden çok aydem elektrik sözleşme numarası var (örn: 800002597130) alttaki siteye girip hızlı borç sorgula diyip borçlarını yan yana görüntülemek istiyorum aşağıda istediğim şekilde gösteriyorum şablonu

Deneme - 800002597130 - 30 ₺ - 50 ₺ - 20₺ = 100 ₺

 

onder_09

Altın Üye
Katılım
17 Mart 2017
Mesajlar
201
Excel Vers. ve Dili
2016 türkçe
Altın Üyelik Bitiş Tarihi
19-07-2025
Yardımcı olacak arkadaş yok mu ?
 

onder_09

Altın Üye
Katılım
17 Mart 2017
Mesajlar
201
Excel Vers. ve Dili
2016 türkçe
Altın Üyelik Bitiş Tarihi
19-07-2025
Hala güncel...
 

onder_09

Altın Üye
Katılım
17 Mart 2017
Mesajlar
201
Excel Vers. ve Dili
2016 türkçe
Altın Üyelik Bitiş Tarihi
19-07-2025
Bir umut elimde telefon bekliyorum olur belki diye :)
 

onder_09

Altın Üye
Katılım
17 Mart 2017
Mesajlar
201
Excel Vers. ve Dili
2016 türkçe
Altın Üyelik Bitiş Tarihi
19-07-2025
Telefonun başında çaresiz bekliyorum
Bekliyorum cevap gelmeyecek biliyorum
Telefonun başında çaresiz bekliyorum
Bekliyorum cevap gelmeyecek biliyorum

:) :) :)
 

Haluk

𐱅𐰇𐰼𐰚
Katılım
7 Temmuz 2004
Mesajlar
12,291
Excel Vers. ve Dili
64 Bit 2010 - İngilizce
+
Google Sheets
+
JScript
Altın Üyelik Bitiş Tarihi
Özel kişi
VBA'de Selenium kullanarak bir çözüm için aşağıdaki kodları kullanabilirsiniz.... Bu iş için bilgisayarınızda Selenium kurulmuş olması ve VBA editöründe ilgili referansın projeye ilave edilmesi gerekir.

Kodların çalışmasına ilişkin animasyon da aşağıda belirtilmiştir;


TempHD.gif



C++:
Sub Test12()
'   Haluk - 19/05/2021
'   sa4truss@gmail.com
'   https://excelhaluk.blogspot.com/
    Dim Driver As New WebDriver
    Dim myTable As WebElement, myInput As WebElement, myButton As WebElement
    
    Range("A4:D5") = ""
    
    Driver.AddArgument "--headless"
    Driver.Start "chrome"
    Driver.Get "https://www.aydemperakende.com.tr/borc-sorgula"
    
    Set myInput = Driver.FindElementByName("contract")
    myInput.SendKeys Range("B2").Text
    
    Set myButton = Driver.FindElementByClass("btn")
    
    myButton.Click
    Driver.Wait 2000
    
    On Error Resume Next
    
    Set myTable = Driver.FindElementByClass("subscriber-content").FindElementsByTag("table")(1)

    If Err Then
        MsgBox "Borç bilgisi bulunamamıştır."
    Else
        myTable.AsTable.ToExcel Range("A4")
        MsgBox "Veriler alındı...!", vbInformation
    End If
    
    On Error GoTo 0
    
    Driver.Close
    Driver.Quit
End Sub
.
 
Son düzenleme:

onder_09

Altın Üye
Katılım
17 Mart 2017
Mesajlar
201
Excel Vers. ve Dili
2016 türkçe
Altın Üyelik Bitiş Tarihi
19-07-2025
VBA'de Selenium kullanarak bir çözüm için aşağıdaki kodları kullanabilirsiniz.... Bu iş için bilgisayarınızda Selenium kurulmuş olması ve VBA editöründe ilgili referansın projeye ilave edilmesi gerekir.

Kodların çalışmasına ilişkin animasyon da aşağıda belirtilmiştir;


Ekli dosyayı görüntüle 227752



C++:
Sub Test12()
'   Haluk - 19/05/2021
'   sa4truss@gmail.com
'   https://excelhaluk.blogspot.com/
    Dim Driver As New WebDriver
    Dim myTable As WebElement, myInput As WebElement, myButton As WebElement
    
    Range("A4:D5") = ""
    
    Driver.AddArgument "--headless"
    Driver.Start "chrome"
    Driver.Get "https://www.aydemperakende.com.tr/borc-sorgula"
    
    Set myInput = Driver.FindElementByName("contract")
    myInput.SendKeys Range("B2").Text
    
    Set myButton = Driver.FindElementByClass("btn")
    
    myButton.Click
    Driver.Wait 2000
    
    On Error Resume Next
    
    Set myTable = Driver.FindElementByClass("subscriber-content").FindElementsByTag("table")(1)

    If Err Then
        MsgBox "Borç bilgisi bulunamamıştır."
    Else
        myTable.AsTable.ToExcel Range("A4")
        MsgBox "Veriler alındı...!", vbInformation
    End If
    
    On Error GoTo 0
    
    Driver.Close
    Driver.Quit
End Sub
.
Hocam ellerinize kollarınıza sağlık Yarın denemesini yapacağım ama şöyle iki durum var.

1-birden fazla abone numarasını aynı anda sorgulatmak istiyorum. Fatura numarası ve son ödeme tarihi yazmasada olur direk borç tutarı yazsa çok güzel olur.

2-hangi referansla projeyi dahl etmem gerekecek ?
 

Haluk

𐱅𐰇𐰼𐰚
Katılım
7 Temmuz 2004
Mesajlar
12,291
Excel Vers. ve Dili
64 Bit 2010 - İngilizce
+
Google Sheets
+
JScript
Altın Üyelik Bitiş Tarihi
Özel kişi
İkinci sorunuzun cevabı ile başlayayım...

Siz ilk önce bilgisayarınıza "Selenium Web Driver" kurup, referanslardan "Selenium Type Library" işaretleyerek projeye ilave edin.

Daha sonra, yukarıdaki kodu çalıştırıp, deneyin....

İlk sorunuza gelince;

Aydem'in site altyapısı aynı anda çok sayıda fatura sorgulanmasını destekliyor mu da, siz böyle istiyorsunuz ? Yoksa, ümit mi ediyorsunuz?

.
 

onder_09

Altın Üye
Katılım
17 Mart 2017
Mesajlar
201
Excel Vers. ve Dili
2016 türkçe
Altın Üyelik Bitiş Tarihi
19-07-2025
İkinci sorunuzun cevabı ile başlayayım...

Siz ilk önce bilgisayarınıza "Selenium Web Driver" kurup, referanslardan "Selenium Type Library" işaretleyerek projeye ilave edin.

Daha sonra, yukarıdaki kodu çalıştırıp, deneyin....

İlk sorunuza gelince;

Aydem'in site altyapısı aynı anda çok sayıda fatura sorgulanmasını destekliyor mu da, siz böyle istiyorsunuz ? Yoksa, ümit mi ediyorsunuz?

.
Yani benim istediğim varsayalım a1 hücresine elektrik abone numarasını yazdım b1 c1 d1 hücrelerine devam ediyor. A2 hücresine borçlarını yazsın aynı şekilde b2 c2 d2 hücresine devam etsin. Hepsini aynı anda yapmasın sırayla yapsın tabi böyle bişey mümkünse
 

Haluk

𐱅𐰇𐰼𐰚
Katılım
7 Temmuz 2004
Mesajlar
12,291
Excel Vers. ve Dili
64 Bit 2010 - İngilizce
+
Google Sheets
+
JScript
Altın Üyelik Bitiş Tarihi
Özel kişi
Mümkün, yapılır.... kodları revize etmek gerekir bunun için.

Ama, Aydem'in sunucusu çok sayıda istek gelince bunu saldırı olarak algılayıp IP adresinizi yasaklayabilir ya da, dosyanın çalışmasında performans sorunu olabilir. Onları bilemem artık...

.
 

onder_09

Altın Üye
Katılım
17 Mart 2017
Mesajlar
201
Excel Vers. ve Dili
2016 türkçe
Altın Üyelik Bitiş Tarihi
19-07-2025
Ama, Aydem'in sunucusu çok sayıda istek gelince bunu saldırı olarak algılayıp IP adresinizi yasaklayabilir ya da, dosyanın çalışmasında performans sorunu olabilir. Onları bilemem artık...

.

Artık onuda deneyip göreceğiz :)
 

askm

Destek Ekibi
Destek Ekibi
Katılım
4 Haziran 2005
Mesajlar
2,745
Excel Vers. ve Dili
2010-2016
Aşağıdaki şekilde döngü ile alabilirsiniz.2. Satırdan başlayıp B sütununa son ödeme tarihini, C sütununa da borç miktarını yazıyor.
Kod:
Sub TestDongu()
'   Haluk - 19/05/2021
'   sa4truss@gmail.com
'   https://excelhaluk.blogspot.com/
    Dim Driver As New WebDriver
    Dim myTable As WebElement, myInput As WebElement, myButton As WebElement
    Dim borc As WebElement
    
    Range("B2:C100") = ""
    
    'Driver.AddArgument "--headless"
    Driver.Start "chrome"
    Driver.Get "https://www.aydemperakende.com.tr/borc-sorgula"
            
    On Error Resume Next
    For i = 2 To Range("A" & Rows.Count).End(3).Row
        If Cells(i, 1) <> Empty Then
            Driver.FindElementByName("contract").Clear
            Driver.FindElementByName("contract").SendKeys Cells(i, 1).Text
            Driver.FindElementByClass("btn").Click
            Driver.Wait 2000
            
            Set borc = Driver.FindElementByClass("p-2")
            If borc Is Nothing Then
                Cells(i, 2).Value = "Borç bilgisi bulunamamıştır."
            Else
                Cells(i, 2).Value = Driver.FindElementByClass("p-2").FindElementsByTag("td")(3).Text
                Cells(i, 3).Value = Driver.FindElementByClass("p-2").FindElementsByTag("td")(4).Text
            End If
            Set borc = Nothing
        End If
    Next i
    
    Driver.Close
    Driver.Quit
    MsgBox "İşlem tamam.", vbInformation, "UYARI"
End Sub
 

onder_09

Altın Üye
Katılım
17 Mart 2017
Mesajlar
201
Excel Vers. ve Dili
2016 türkçe
Altın Üyelik Bitiş Tarihi
19-07-2025
Aşağıdaki şekilde döngü ile alabilirsiniz.2. Satırdan başlayıp B sütununa son ödeme tarihini, C sütununa da borç miktarını yazıyor.
Kod:
Sub TestDongu()
'   Haluk - 19/05/2021
'   sa4truss@gmail.com
'   https://excelhaluk.blogspot.com/
    Dim Driver As New WebDriver
    Dim myTable As WebElement, myInput As WebElement, myButton As WebElement
    Dim borc As WebElement
    
    Range("B2:C100") = ""
    
    'Driver.AddArgument "--headless"
    Driver.Start "chrome"
    Driver.Get "https://www.aydemperakende.com.tr/borc-sorgula"
            
    On Error Resume Next
    For i = 2 To Range("A" & Rows.Count).End(3).Row
        If Cells(i, 1) <> Empty Then
            Driver.FindElementByName("contract").Clear
            Driver.FindElementByName("contract").SendKeys Cells(i, 1).Text
            Driver.FindElementByClass("btn").Click
            Driver.Wait 2000
            
            Set borc = Driver.FindElementByClass("p-2")
            If borc Is Nothing Then
                Cells(i, 2).Value = "Borç bilgisi bulunamamıştır."
            Else
                Cells(i, 2).Value = Driver.FindElementByClass("p-2").FindElementsByTag("td")(3).Text
                Cells(i, 3).Value = Driver.FindElementByClass("p-2").FindElementsByTag("td")(4).Text
            End If
            Set borc = Nothing
        End If
    Next i
    
    Driver.Close
    Driver.Quit
    MsgBox "İşlem tamam.", vbInformation, "UYARI"
End Sub
Hocam Sizinde ellerinize kollarınıza emeğinize sağlık fakat 3 adet problem var

1-abone numarasını a2 ye değilde b2den başlatmamız mümkün mü ?
2- tarih yazıyor onu silsek yazdırtmasak olur mu ?
3-kimi abone numarasında 1den fazla elektrik borcu var ve sorgulama yaptığımda sadece 1. borcu yazıyor sorgulama ekranına 2.yi yazmıyor. Eğer mümkünse 2 borcunu hatta ne kadar borcu varsa yan yana yazması mümkün mü ?
 
Son düzenleme:

askm

Destek Ekibi
Destek Ekibi
Katılım
4 Haziran 2005
Mesajlar
2,745
Excel Vers. ve Dili
2010-2016
İki borç olan örnek abone numarası yazarsanız bakalim.
 

askm

Destek Ekibi
Destek Ekibi
Katılım
4 Haziran 2005
Mesajlar
2,745
Excel Vers. ve Dili
2010-2016
Aşağıdaki şekilde deneyin.
(Bu arada 800005513820 borcun birini ödemiş sanırım.)
Kod:
Sub TestDongu()
    Dim Driver As New WebDriver
    Dim borc As WebElements, borcsay As Byte
    Dim sayfa As WebElement
    Dim son As Long
    son = Range("B" & Rows.Count).End(3).Row
    Range("C2:X100") = ""
    
    On Error Resume Next
    
    'Driver.AddArgument "--headless"
    Driver.Start "chrome"
    Driver.Get "https://www.aydemperakende.com.tr/borc-sorgula"
    Driver.Timeouts.Server = 100000
    Set sayfa = Driver.FindElementByClass("pt-5")
    
    If sayfa Is Nothing Then GoTo Hata
    

    For i = 2 To son
        If Cells(i, 2) <> Empty Then
            Driver.FindElementByName("contract").Clear
            Driver.FindElementByName("contract").SendKeys Cells(i, 2).Text
            Driver.FindElementByClass("btn").Click
            Driver.Wait 2000
            
            Set borc = Driver.FindElementByClass("p-2").FindElementsByTag("tr")
            borcsay = borc.Count
            If borc Is Nothing Then
                Cells(i, 2).Value = "Borç bilgisi bulunamamıştır."
            Else
                a = 3
                For sat = 2 To borcsay
                    Cells(i, a).Value = borc(sat).FindElementsByTag("td")(4).Text
                    a = a + 1
                Next sat
            End If
            Set borc = Nothing
            borcsay = Empty
        End If
    Next i
    
    Driver.Close
    Driver.Quit
    MsgBox "İşlem tamam.", vbInformation, "UYARI"
    Exit Sub
Hata:
    Driver.Close
    Driver.Quit
    MsgBox "Sayfa yüklenemedi.", vbInformation, "DİKKAT!!!"
End Sub
 

Mahir64

Destek Ekibi
Destek Ekibi
Katılım
19 Nisan 2006
Mesajlar
6,671
Excel Vers. ve Dili
Excel 2013-Türkçe
Excel 2016-Türkçe
Sayın @onder_09 telefonun başında çaresiz beklediğine değdi sanırım.
Aydın'a selamlar... Karpuzlu ve Sultahhisar'da toplam 8 yıl görev yaptım.
 
Son düzenleme:

Haluk

𐱅𐰇𐰼𐰚
Katılım
7 Temmuz 2004
Mesajlar
12,291
Excel Vers. ve Dili
64 Bit 2010 - İngilizce
+
Google Sheets
+
JScript
Altın Üyelik Bitiş Tarihi
Özel kişi
Alternatif olsun;


TempHD.gif


C++:
Sub getAydemData()
'   Haluk - 20/05/2021
'   sa4truss@gmail.com
'   https://excelhaluk.blogspot.com/
    Dim Driver As New WebDriver
    Dim myTable As WebElement, myInput As WebElement, myButton As WebElement
    Dim myArr(), iRow As Integer
    
    Range("B2:F" & Rows.Count) = ""
    NoA = Range("A" & Rows.Count).End(xlUp).Row
    
    Driver.AddArgument "--headless"
    Driver.Start "chrome"
    Driver.Timeouts.Server = 200000
    Driver.Get "https://www.aydemperakende.com.tr/borc-sorgula"
    
    For i = 2 To NoA
        Set myInput = Driver.FindElementByName("contract")
        myInput.Clear
        myInput.SendKeys Range("A" & i).Text
        
        Set myButton = Driver.FindElementByClass("btn")
        
        myButton.Click
'        Driver.Wait 2000
        
        On Error Resume Next
        
        Set myTable = Driver.FindElementByClass("subscriber-content").FindElementsByTag("table")(1)
    
        If Err Then
            Cells(i, 2) = 0
        Else
            myArr = myTable.AsTable.Data
            iRow = UBound(myArr)
            For j = 2 To iRow
                Cells(i, j) = Replace(Replace(myArr(j, 4), "TRY", ""), ".", ",") + 0
            Next
        End If
        
        On Error GoTo 0
    Next
    
    MsgBox "Veriler alındı...!", vbInformation

    Driver.Close
    Driver.Quit
End Sub
.
 
Son düzenleme:
Üst