Chrome ile dosya indirme

acar6783

Altın Üye
Katılım
6 Temmuz 2008
Mesajlar
1,693
Beğeniler
18
Excel Vers. ve Dili
OFFİCE 2007- TÜRKÇE
#1
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
 

turist

Destek Ekibi
Destek Ekibi
Katılım
18 Kasım 2009
Mesajlar
5,100
Beğeniler
534
Excel Vers. ve Dili
2013 64Bit
English
#2
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.
 

acar6783

Altın Üye
Katılım
6 Temmuz 2008
Mesajlar
1,693
Beğeniler
18
Excel Vers. ve Dili
OFFİCE 2007- TÜRKÇE
#3
Bilgilendirme için teşekkür ederim.
Expolererdaki hatayı çözmeye çalışacağım.
 

turist

Destek Ekibi
Destek Ekibi
Katılım
18 Kasım 2009
Mesajlar
5,100
Beğeniler
534
Excel Vers. ve Dili
2013 64Bit
English
#4
Sağ olun, iyi çalışmalar.
 

Haluk

Özel Üye
Katılım
7 Temmuz 2004
Mesajlar
7,047
Beğeniler
467
Excel Vers. ve Dili
32 Bit 2010 - İngilizce
#5
Alternatif olarak, HTTP ile bir şeyler yapılabilir ...

.
 

asri

Altın Üye
Altın Üye
Katılım
24 Nisan 2005
Mesajlar
2,718
Beğeniler
36
Excel Vers. ve Dili
Office 2016 TR 64 Bit
#6
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.
 

acar6783

Altın Üye
Katılım
6 Temmuz 2008
Mesajlar
1,693
Beğeniler
18
Excel Vers. ve Dili
OFFİCE 2007- TÜRKÇE
#7
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.
 

askm

Altın Üye
Altın Üye
Katılım
4 Haziran 2005
Mesajlar
2,475
Beğeniler
54
Excel Vers. ve Dili
2010-2016
#8
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.
 

acar6783

Altın Üye
Katılım
6 Temmuz 2008
Mesajlar
1,693
Beğeniler
18
Excel Vers. ve Dili
OFFİCE 2007- TÜRKÇE
#9
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?
 

acar6783

Altın Üye
Katılım
6 Temmuz 2008
Mesajlar
1,693
Beğeniler
18
Excel Vers. ve Dili
OFFİCE 2007- TÜRKÇE
#10
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
 

acar6783

Altın Üye
Katılım
6 Temmuz 2008
Mesajlar
1,693
Beğeniler
18
Excel Vers. ve Dili
OFFİCE 2007- TÜRKÇE
#11
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 :)
 

acar6783

Altın Üye
Katılım
6 Temmuz 2008
Mesajlar
1,693
Beğeniler
18
Excel Vers. ve Dili
OFFİCE 2007- TÜRKÇE
#12
Bu konuda cevap verebilecek vardır diye ümit ediyorum :unsure::rolleyes:
 

acar6783

Altın Üye
Katılım
6 Temmuz 2008
Mesajlar
1,693
Beğeniler
18
Excel Vers. ve Dili
OFFİCE 2007- TÜRKÇE
#13
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.
 
Üst