• DİKKAT

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

Chrome ile dosya indirme

Katılım
6 Temmuz 2008
Mesajlar
1,875
Excel Vers. ve Dili
OFFİCE 2010- TÜRKÇE
Kolay gelsin ,
İnternetten veri alma hakkında çok şey araştırdım ama bu işi İEexplorer dışında yapan bir kod yazımı bulamadım.
Ekte ieesplorer ile daha önce kullandığım kodlar mevcut fakat bu işyerimde İnternetExplorer sayfaları açmıyor. o yüzden hata alıyorum.
Bu işi Chrome ile yapabileceğim kod yazan varmıdır?

Örnek kodlar daha önce Haluk beyin kodlarının uyarlanmış halidir.

Kod:
Dim IE As Object
Dim satsay As Integer
Sub bekle()
    With IE
        Do Until .readyState = 4: DoEvents: Loop
        Do While .Busy: DoEvents: Loop
    End With
End Sub

Sub giriş()
 Set IE = CreateObject("InternetExplorer.Application")
     IE.Visible = 1

    IE.Navigate "https://i-donusum.com.tr/portal/"
     Call bekle


satsay = 0
          Set objCollection = IE.Document.getElementsByTagName("input")

           i = 0
           Do While i < objCollection.Length
              If objCollection(i).ID = "username" And objCollection(i).Type = "text" Then
               'kullanıcı adı
                 objCollection(i).Value = "xxxx" 'Sheets("uyum").Range("V5").Value
End If
'parola
 If objCollection(i).ID = "pass2" And objCollection(i).Type = "password" Then
              
                 objCollection(i).Value = "xxxxx" 'Sheets("uyum").Range("AE5").Value
            
                 Exit Do

              End If
              i = i + 1
           Loop

            
           Set objCollection = IE.Document.getElementsByTagName("input")
           i = 0
           Do While i < objCollection.Length
              If objCollection(i).Name = "Submit" And objCollection(i).Type = "submit" Then
              
                 objCollection(i).Click
            
                 Exit Do
              End If
              i = i + 1
           Loop
 
  Call bekle
 
End Sub
 
Bu konuda "genel" bir bilgi olarak:

Google Chrome, Internet Explorer gibi bir Visual Basic arayüzü sağlamaz, bu nedenle IE özelliklerinin hiçbirine erişilemez(Document, Object,Table vb).
Yalnızca çalıştırılabilir öğeye geçerek Chrome'u belirli bir adreste başlatabilirsiniz.

Örnek Kod parçası:


Dim yol As String = Environment.GetFolderPath(Environment.SpecialFolder.ProgramFiles)
Dim islem As String = yol.Combine(yol, "Google\\Chrome\\Application\\chrome.exe")
Process.Start(islem, "http://google.com")

veya

Dim yol As String
yol = """C:\Program Files\Google\Chrome\Application\chrome.exe"""
Shell (yol & " -url http:google.com")
gibi.

Ancak;
Selenium adında bir Tarayıcı Otomasyon Aracı var, ilgilenip araştırırsanız; bu yöntemle, Chrome, Firefox, Opera gibi Tarayıcılara erişim mümkün olur.
 
Bilgilendirme için teşekkür ederim.
Expolererdaki hatayı çözmeye çalışacağım.
 
Sağ olun, iyi çalışmalar.
 
Alternatif olarak, HTTP ile bir şeyler yapılabilir ...

.
 
Alternatif;
Bu seçenekler hemen sonuç alacağınız anlamına gelmiyor. Öğrenmek için biraz zaman gerekli.
Pulover’s Macro Creator
AUTOIT script programlarını inceleyebilirsiniz.
 
günaydın,
Öncelikle gariptir ki ben son iki yoruma ait bilgilendirme maili almadım.Alternatif gelmedi diye merakımdan bugün giriş yaptım mesajları yeni farkettim.Sebebi ne olabilir?
İEexplorer güncellemesi yapınca sorun düzeldi. Sanırım en kullanışlısı ve alternatif kod bulabileceğim yöntem bu şekilde olacak.
 
Http ile login işlemi nasıl olur. Veri çekme yapılabiliyor ama, yani veri çekilebiliyor ama veri gönderme konusu nasıl olur. Excel.web.tr giriş nasıl yapabiliriz. Öğrenmek için soruyorum. Yerli ve yabancı sitelerde veri çekme var ama veri gönderme göremedim.
 
Kod:
Set objCollection = IE.Document.getElementsByTagName("input")
           i = 0
           Do While i < objCollection.Length
           MsgBox objCollection(i).Name
              If objCollection(i).Name = "Submit" And objCollection(i).Type = "submit" Then
              
                 objCollection(i).Click
Kod:
<button class="btn btn-primary btn-cons m-t-10" type="submit">Oturum Aç</button>

Bu alanda neden butona bastıramıyor olabilirim?
 
1547462730656.png
IE.Document.getElementsByname("inboxList_length").Value = 100
IE.Document.getElementsByname("inboxList_length").FireEvent ("onchange")

Bu alanda ise kodları çalıştıramıyorum.

Ek olarak farklı kod oluşturdum ,değeri değiştiriyor fakat ekrana veriler değiştirdiğim rakamda gelmiyor
;
Kod:
Set objCollection = IE.Document.getElementsByname("inboxList_length")
 
           i = 0
           Do While i < objCollection.Length
                'MsgBox objCollection(i).Value
                 objCollection(i).Value = 50
  
                 Exit Do

              
              i = i + 1
           Loop
 
Kod:
Set objCollection = IE.Document.getElementsByTagName("input")
           i = 0
           Do While i < objCollection.Length
           MsgBox objCollection(i).Name
              If objCollection(i).Name = "Submit" And objCollection(i).Type = "submit" Then
             
                 objCollection(i).Click
Kod:
<button class="btn btn-primary btn-cons m-t-10" type="submit">Oturum Aç</button>

Bu alanda neden butona bastıramıyor olabilirim?
Kod:
   IE.Document.getElementsBytagname("BUTTON")(0).Click

bu kod ile bu bölümü geçtim :)
 
Bu konuda cevap verebilecek vardır diye ümit ediyorum :unsure::rolleyes:
 
Alternatif olarak, HTTP ile bir şeyler yapılabilir ...

.
Http ile ilgili bir örnek çalışmanız varmıdır. İE.Explorer da çalışan da olabilir. Diğer mantıkda bazı bölümleri geçemiyorum.
 
Geri
Üst