G

Soru Webden Selenium ile excel dosyası indirme

  • Konuyu başlatan Konuyu başlatan gkhvrl
  • Başlangıç tarihi Başlangıç tarihi

gkhvrl

Normal Üye
Excel Versiyonu
Excel 2016
Excel Sürümü
64 Bit
Excel Dili
Türkçe
Merhabalar;
Şifreli bir web sitesinden vba selenium ile giriş yapıyorum. İlgili sayfaya geliyorum excel dosyasını indiriyorum fakat indirdiğim dosya adı otomatik olarak isimli geliyor.
Ben bu indirilen excel dosyasının hep aynı isimle açılmasını istiyorum.
Konu hakkında yardımlarınızı rica ederim.
Saygılarımla


Sub Hesap_Hareketleri()
Dim x As New Selenium.WebDriver, DosyaYolu As Variant
DosyaYolu = ThisWorkbook.Path
'x.AddArgument "--headless"
x.SetPreference "download.default_directory", DosyaYolu
x.SetPreference "download.default_upgrade", True

On Error Resume Next

x.Start "Chrome"

x.Get "................................."

x.Get "..................................."
x.FindElementById("ctl00_maincontent_txtFirmCode").SendKeys "..............."
x.FindElementById("ctl00_maincontent_txtUserName").SendKeys "................"
x.FindElementById("ctl00_maincontent_txtPassword").SendKeys ".................."
x.FindElementById("ctl00_maincontent_btnLogin").Click
x.FindElementById("ctl00_ctl00_maincontent_UCFavoriteMenuV2_rptFavoriMenu_ctl00_imgMenu").Click
x.FindElementByXPath("/html/body/form/div[5]/div[2]/div/div[2]/div/div/div[2]/div/div[1]/div/div[2]/div[1]/div[4]/div[2]/div/button").Click
x.FindElementByXPath("/html/body/form/div[5]/div[2]/div/div[2]/div/div/div[2]/div/div[1]/div/div[2]/div[1]/div[4]/div[2]/div/ul/li[1]/div/input").SendKeys "gv"
Application.Wait (Now + TimeValue("0:00:03"))
x.FindElementByXPath("/html/body/form/div[5]/div[2]/div/div[2]/div/div/div[2]/div/div[1]/div/div[2]/div[1]/div[4]/div[2]/div/ul/li[2]/a/label").Click
Application.Wait (Now + TimeValue("0:00:03"))
x.FindElementByXPath("/html/body/form/div[5]/div[2]").Click
x.FindElementByXPath("/html/body/form/div[5]/div[2]/div/div[2]/div/div/div[2]/div/div[3]/input").Click
x.FindElementByXPath("/html/body/form/div[5]/div[2]/div/div[2]/div/div/div[2]/div/div[4]/div/div[2]/div[1]/a[1]/i").Click
Application.Wait (Now + TimeValue("0:00:05"))
MsgBox ("işlem tamamlandı")

End Sub
 
Dosyanızı görmeden diyeceğimde şifreli bir alana giriş yapıyorsunuz. :)

Ne yapılabilir derseniz, Selenium ile indirilen dosyaya isim verebilir misiniz onu denemek lazım.
Yada indirilen dizindeki dosyaları indirmeden önce bir dizi alıp sonradan indirilen dosyayı dizide kontrol ederek bulabilirsiniz. ( Dizide yoksa indirilen dosyadır )
Sonrasında o dosyanın ismini değiştirirsiniz.


Kod:
Görüntülemek için giriş yapmanız gerekmektedir.
(7 satır)
 
Dosyanızı görmeden diyeceğimde şifreli bir alana giriş yapıyorsunuz. :)

Ne yapılabilir derseniz, Selenium ile indirilen dosyaya isim verebilir misiniz onu denemek lazım.
Yada indirilen dizindeki dosyaları indirmeden önce bir dizi alıp sonradan indirilen dosyayı dizide kontrol ederek bulabilirsiniz. ( Dizide yoksa indirilen dosyadır )
Sonrasında o dosyanın ismini değiştirirsiniz.


Kod:
Görüntülemek için giriş yapmanız gerekmektedir.
(7 satır)
Merhaba;
Dosyayı malesef paylaşamıyorum :)

Malesef olmadı, indirilen excel'in ismi değişken olduğu için (Hesap Hareketleri_be4785_2022_01_20_09_01) indirilen tarihi/saati veriyor.
oldName bulamıyor. Aslında indirmeyip istediğim exceli de açsam işimi görür, açtıktan sonra farklı kaydet yapabilirim.
 
Yani bu durumda öneriden öteye geçemeyiz. Dediğim gibi dosya indirme kodunu çalıştırmadan önce dizindeki dosyaları bir diziye alıp, indirtikten sonra aynı dizini tekrardan kontrol ediniz. Fazla olan dosya yeni inen dosyadır. Yada dosyanın özelliklerinden gidilebilir de o biraz daha fazla detaylı iş. En basiti kontrol edip geçmek.
 
Yani bu durumda öneriden öteye geçemeyiz. Dediğim gibi dosya indirme kodunu çalıştırmadan önce dizindeki dosyaları bir diziye alıp, indirtikten sonra aynı dizini tekrardan kontrol ediniz. Fazla olan dosya yeni inen dosyadır. Yada dosyanın özelliklerinden gidilebilir de o biraz daha fazla detaylı iş. En basiti kontrol edip geçmek.
Başka bir örnek hazırladım.
Yalnız Selenium kütüphanesi yüklü olmalı, bir de bu indirilen excel aynı isimle iniyor. Keşke öteki de böyle inse :)
Benim isteğim indirilen dosyayı direkt açmak yada ismini değiştirmek.
İş uzayacak ise konuyu çözüldü olarak kapatabilirsiniz.
 

Ekli dosyalar

Üst