• DİKKAT

    DOSYA İndirmek/Yüklemek için ÜCRETLİ ALTIN ÜYELİK Gereklidir!
    Altın Üyelik Hakkında Bilgi

Aydem elektrik borç sorgulama

Selenium'u kurdunuz mu?

.
 
Başta telefonun başında çaresizce beklerken konuya desteklerinden ötürü @Haluk hocama daha sonra konuya destek veren @askm hocama teşekkürlerimi iletiyorum ellerinize kollarınıza sağlık. 2 formülde birbirinden çok güzel sadece bir kaç revize gerekiyor.

Öncelikle @askm hocam sizin kod gayet stabil güzel ve hızlı çalışıyor ama velakin abone bilgilerini b2'den başlatınca borcu olması halinde "Borç bilgisi bulunamamıştır." diye hatayla başlıyor.

@Haluk hocam sizinde ellerinize kollarınıza emeğinize sağlık. Sizin kodlar askm hocamın kodlarına oranla biraz daha yavaş çalışıyor ama güzel çalışıyor sizinde. Sizden de tek isteğim hocam sözleşme numarası a2 den değilde b2 den yazarak sorgulatsam benim için daha güzel olacak.

Şimdiden 2 değerli hocamada teşekkürler iyi çalışmalar

Selenium'u kurdunuz mu?

.

Evet hocam kurdum
 
Sözleşme No'lar B sütunundaysa;

C++:
Sub getAydemData2()
'   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("C2:F" & Rows.Count) = ""
    NoB = Range("B" & Rows.Count).End(xlUp).Row
   
    Driver.AddArgument "--headless"
    Driver.Start "chrome"
    Driver.Timeouts.Server = 20000
    Driver.Get "https://www.aydemperakende.com.tr/borc-sorgula"
   
    For i = 2 To NoB
        Set myInput = Driver.FindElementByName("contract")
        myInput.Clear
        myInput.SendKeys Range("B" & 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, 3) = 0
        Else
            myArr = myTable.AsTable.Data
            iRow = UBound(myArr)
            For j = 2 To iRow
                Cells(i, j + 1) = Val(Replace(myArr(j, 4), "TRY", ""))
            Next
        End If
       
        On Error GoTo 0
    Next
   
    MsgBox "Veriler alındı...!", vbInformation

    Driver.Close
    Driver.Quit
End Sub

.
 
Son düzenleme:
Sözleşme No'lar B sütunundaysa;

C++:
Sub getAydemData2()
'   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("C2:F" & Rows.Count) = ""
    NoB = Range("B" & Rows.Count).End(xlUp).Row
  
    Driver.AddArgument "--headless"
    Driver.Start "chrome"
    Driver.Timeouts.Server = 20000
    Driver.Get "https://www.aydemperakende.com.tr/borc-sorgula"
  
    For i = 2 To NoB
        Set myInput = Driver.FindElementByName("contract")
        myInput.Clear
        myInput.SendKeys Range("B" & 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, 3) = 0
        Else
            myArr = myTable.AsTable.Data
            iRow = UBound(myArr)
            For j = 2 To iRow
                Cells(i, j + 1) = 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

.

Site ağırlaştı hocam :) düzelince kontrol edecem ellerinize kollarınıza sağlık tekrardan
 
Sözleşme No'lar B sütunundaysa;

C++:
Sub getAydemData2()
'   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("C2:F" & Rows.Count) = ""
    NoB = Range("B" & Rows.Count).End(xlUp).Row
  
    Driver.AddArgument "--headless"
    Driver.Start "chrome"
    Driver.Timeouts.Server = 20000
    Driver.Get "https://www.aydemperakende.com.tr/borc-sorgula"
  
    For i = 2 To NoB
        Set myInput = Driver.FindElementByName("contract")
        myInput.Clear
        myInput.SendKeys Range("B" & 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, 3) = 0
        Else
            myArr = myTable.AsTable.Data
            iRow = UBound(myArr)
            For j = 2 To iRow
                Cells(i, j + 1) = 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

.

Hocam ellerinize kollarınıza emeğinize sağlık valla Allah razı olsun
 
Eyvallah.... kolay gelsin.

Not: Ufak bir revizyon yaptım, son şeklini kullansanız daha iyi olur...

.
 
Son düzenleme:
Hocam tekrardan merhaba rahatsız ediyorum kusura bakmayın. Eklediğim dosyaya bir tane daha buton ekleyip b2 den itibaren yazacağım tesisat numarasını https://www.aydemperakende.com.tr/sozlesme-hesap-no-sorgula sitesinden sorgulayıp c2 ye direk sözleşme numarasını yazdırabilir miyiz acaba ? Örnek tesisat numarası 5045050
 

Ekli dosyalar

Aşağıdaki şekilde deneyin.
Kod:
Sub AboneNo()
    Dim Driver As New WebDriver
    Dim myInput As WebElement, myButton As WebElement
   
    Range("C2:C" & Rows.Count) = ""
    NoB = Range("B" & Rows.Count).End(xlUp).Row
   
    Driver.AddArgument "--headless"
    Driver.Start "chrome"
    Driver.Timeouts.Server = 20000
    Driver.Get "https://www.aydemperakende.com.tr/sozlesme-hesap-no-sorgula"
   
    For i = 2 To NoB
        Set myInput = Driver.FindElementByClass("form-control")
        myInput.Clear
        myInput.SendKeys Range("B" & i).Text
       
        Driver.FindElementByClass("btn").Click
        Driver.Wait 1000
        Cells(i, 3) = "'" & Driver.FindElementByClass("alert-success").FindElementByTag("b").Text

    Next
   
    MsgBox "Veriler alındı...!", vbInformation

    Driver.Close
    Driver.Quit
End Sub
 
Aşağıdaki şekilde deneyin.
Kod:
Sub AboneNo()
    Dim Driver As New WebDriver
    Dim myInput As WebElement, myButton As WebElement
  
    Range("C2:C" & Rows.Count) = ""
    NoB = Range("B" & Rows.Count).End(xlUp).Row
  
    Driver.AddArgument "--headless"
    Driver.Start "chrome"
    Driver.Timeouts.Server = 20000
    Driver.Get "https://www.aydemperakende.com.tr/sozlesme-hesap-no-sorgula"
  
    For i = 2 To NoB
        Set myInput = Driver.FindElementByClass("form-control")
        myInput.Clear
        myInput.SendKeys Range("B" & i).Text
      
        Driver.FindElementByClass("btn").Click
        Driver.Wait 1000
        Cells(i, 3) = "'" & Driver.FindElementByClass("alert-success").FindElementByTag("b").Text

    Next
  
    MsgBox "Veriler alındı...!", vbInformation

    Driver.Close
    Driver.Quit
End Sub

Hocam ellerinize sağlık ama sanırım chrome güncellendi ve selenium karşılığı olmadığı için kullanamıyorum hata veriyor.
 
Hocam ellerinize sağlık ama sanırım chrome güncellendi ve selenium karşılığı olmadığı için kullanamıyorum hata veriyor.

Hocam ben bunu dosyaya ekleyemedim. Nasıl eklicem yardımcı olur musunuz ?

Bide borç sorgulama kodunda sanırım bir problem var abone numaralarını yazıyorum sorgula dediğimde tepki vermiyor onada bakar mısınız ?
 
Son düzenleme:
Hata vermiyorsa internet hızınız yavaştır. Driver.Wait 1000
ifadesindeki bini 2000 veya 3000 yapın.
 
Aydem'in sitesi bence berbat durumda ..... Sorun muhtemelen o yüzdendir.

Selenium'un çalışıp çalışmadığını bence başka sitelerde deneyin, fark var mı bakın ....

.
 
Farklı seleniumlu dosya denediğimde çalışıyor. Aydem dosyasını yaptığımda 2-3 saniye bekleyip tepki vermiyor. Wait'i 3000 yaptım yine aynı. Başka bilgisayarda denedim onda oldu anlamadım neden böyle bir sorun veriyor
 
Herkese merhaba iyi akşamlar. Bilgisayarıma selenium yükledim bir süre çalışıyordu şimdi çalışmıyor. Chromeyi açıyor 2 3 saniye sonra chrome kapanıyor ve hiç bir işlem yapmıyor neden olabillir acaba ? Denediğim dosyayı ekledim başka bir seleniumlu dosya denediğimde böyle bir sıkıntı yok gözüküyor.
 

Ekli dosyalar

sayın @Haluk ve @askm hocalarım yardımcı olduğunuz dosyalar şu an çalışmıyor sizlerde de öyle mi acaba ?
 
Bende sorunsuz çalışıyor dosya.
 
Geri
Üst