• Foruma hoş geldin 👋 Ziyaretçi

    Forum içeriğine ve tüm hizmetlerimize erişim sağlamak için foruma kayıt olmalı ya da giriş yapmalısınız. Foruma üye olmak tamamen ücretsizdir.

Soru excelden veri alıp xpathe gönderme

tiranxxx

Yeni Üye
Kullanıcı Bilgileri
Aktiflik
Çevrimdışı
Katılım
28 Tem 2023
Mesajlar
105
Aldığı beğeni
7
Excel V
Office 2016 TR
Konuyu Başlatan
merhaba,

şimdi selenium basic driver ve diğer ayarlamaları yaptım.şirket içeresinde intranet sayfamı açıyorum.excelden bu açılan sayfaya excel dosyamdan veri atıyorum.ancak excelden veriyi alırken sanki hiç veri yokmuş gibi hiçbir veri alamıyorum sayfadaki form alanlarım boş kalıyor.yapay zeka ile yaptığım mako kodları aşağıdaki gibi.excel dosyamda belge sheetimdeki bazı verileri almaya çalışıyorum.

2.sorunum da çoğu zaman makro urlyi açarken hata alıyorum.sanki güvenli olmayan bir cihaz browseri kontrol ediyormuş da bilgisayar buna izin vermiyor güvenli değil diye buna bir çözüm bulabilir misiniz?

teşekkürler.

Kod:
Değerli Misafirimiz İçeriği Görebilmek İçin Üyemiz İseniz Giriş Yap'ın Ya da Üye Ol'un.


1737632667251.png
 

Ekli dosyalar

  • calısma.xlsx
    10.3 KB · Gösterim: 5
Moderatör tarafında düzenlendi:

Excel Verilerini Alma Sorunu:​

Excel'den veriyi alırken sorun yaşıyorsanız, iki nokta önemlidir:
  • Excel Dosyasının Doğru Açıldığından Emin Olun: Set wb = Application.ActiveWorkbook ve Set ws = wb.Sheets("belge") satırları, yalnızca aktif olan workbook ve belirli sheet üzerinde çalışır. Emin olmak için wb ve ws değişkenlerinin doğruluğunu kontrol edin.
  • Hücre Aralığı ve İçerik Kontrolü: For Each cell In ws.Range("A37:A43") gibi kod satırlarında, hücre aralığında ve içeriğinde doğru veri olduğundan emin olun. D1- ve diğer metinlerin doğru şekilde yerleştirildiğinden emin olun.

Güvenlik Uyarısı ve URL Açma Sorunu:​

Tarayıcının güvenli olmadığını düşündüğü için URL'yi açmada sorun yaşıyorsanız:
  • İlgili Tarayıcı Ayarlarını Yapın: Tarayıcı ayarlarından güvenli olmayan içerik veya SSL sertifikaları ile ilgili ayarları kontrol edin.
  • Selenium için Özel Profil Kullanımı: Selenium ile tarayıcı açarken özel profil kullanarak bu tür güvenlik uyarılarını bypass edebilirsiniz. Örnek olarak:

Dim options As New ChromeOptions
options.AddArguments "--user-data-dir=C:\Path\To\Custom\Profile"
driver.Start "chrome", options

Güvenlik Yazılımlarını Kontrol Edin: Antivirüs veya diğer güvenlik yazılımları, tarayıcıyı kontrol eden süreçleri engelliyor olabilir. Bu yazılımların ayarlarını geçici olarak devre dışı bırakmayı deneyebilirsiniz.

Kodu daha anlaşılır ve debug yapılabilir hale getirmek için adım adım eklemeler yapabilirsiniz:
  1. Error Handling: Hatalar için On Error kullanarak belirli bir durum yakalama ve hataları raporlama.
  2. Verilen Print ve Debug: Debug.Print satırlarını kullanarak hangi aşamada problem yaşandığını görmek.
Bunlar sadece size sunulmuş bir öneridir
 
merhaba,

şimdi selenium basic driver ve diğer ayarlamaları yaptım.şirket içeresinde intranet sayfamı açıyorum.excelden bu açılan sayfaya excel dosyamdan veri atıyorum.ancak excelden veriyi alırken sanki hiç veri yokmuş gibi hiçbir veri alamıyorum sayfadaki form alanlarım boş kalıyor.yapay zeka ile yaptığım mako kodları aşağıdaki gibi.excel dosyamda belge sheetimdeki bazı verileri almaya çalışıyorum.

2.sorunum da çoğu zaman makro urlyi açarken hata alıyorum.sanki güvenli olmayan bir cihaz browseri kontrol ediyormuş da bilgisayar buna izin vermiyor güvenli değil diye buna bir çözüm bulabilir misiniz?

teşekkürler.

Kod:
Değerli Misafirimiz İçeriği Görebilmek İçin Üyemiz İseniz Giriş Yap'ın Ya da Üye Ol'un.


Ekli dosyayı görüntüle 31813
' "Gerçekleşen İthalat(USD)" metni aranır

If InStr(Trim(cell.Text), "Gerçekleşen İthalat(USD)") > 0 Then

' Alt hücredeki veriyi alalım

targetValue = cell.Offset(1, 0).Value ' Sayıya dönüştürmeden mevcut değeri al



Debug.Print "Alt Hücre: " & cell.Offset(1, 0).Address & " | Değer: " & targetValue



' Sayıyı doğru şekilde XPath'e gönderelim

driver.FindElementByXPath("/html/body/form/div[3]/table/tbody/tr[3]/td/div/table/tbody/tr[2]/td/table/tbody/tr[7]/td[3]/input").SendKeys targetValue

Exit For ' Veriyi bulduğunda döngüyü sonlandır

End If

Next cell
 
For Each cell In ws.Range("A90:A150") ' A90 ile A150 arasındaki hücreler üzerinde işlem yapılır ' "Gerçekleşen İthalat(USD)" metni aranır If InStr(Trim(cell.Text), "Gerçekleşen İthalat(USD)") > 0 Then ' Alt hücredeki veriyi alalım targetValue = cell.Offset(1, 0).Value ' Sayıya dönüştürmeden mevcut değeri al Debug.Print "Alt Hücre: " & cell.Offset(1, 0).Address & " | Değer: " & targetValue ' Sayıyı doğru şekilde XPath'e gönderelim driver.FindElementByXPath("/html/body/form/div[3]/table/tbody/tr[3]/td/div/table/tbody/tr[2]/td/table/tbody/tr[7]/td[3]/input").SendKeys targetValue Exit For ' Veriyi bulduğunda döngüyü sonlandır End If Next cell
sorun burada oluşuyor Gerçekleşen İthalat(USD) değerinin hemen bir altındaki hücrede sayı olmasına rağmen alamıyor
 
Geri
Üst