Web sayfası otomasyonu

Merhaba

Bir web otomasyonu yapmaya çalışıyorum fakat takıldığım bir konu var

web sayfasında her ekle butonuna bastığımda “Sıra No : 1” → “Sıra No : 2” diye artıyor ve form alanı açılıyor benim istediğim exceldeki veriyi sıra no1 kısmına yazdıktan sonra “Sıra No : 2” form kısmına doğru sayfayı indirip o kısımdan devam etmesi daha sonra sıra no 3,4 olarak kaç satır varsa excelimde devam etmesini istiyorum.

benim yaptığım otomasyonda şuan sıra no 1 kısmına yazıyor sonraki veriyi de sıra no 1 kısmına yazıyor

@Umut_Veysel_DURKEN
Tabii ki! İşte çözümünüz:

Web sayfasında “Sıra No” alanlarını doldururken her bir sıranın kendine ait bir form alanına yazılması için UiPath’te şu adımları takip edebilirsiniz:

1. Excel Verilerini Oku

  • Read Range etkinliği ile Excel’deki verileri bir DataTable olarak okuyun. Bu işlemi yaparken Excel Application Scope kullanabilirsiniz.
    • Çıktıyı örneğin dtExcelData olarak adlandırabilirsiniz.

2. Web Sayfasında İlk Formu Bul

  • İlk form alanına giriş yapmanız gerekiyorsa, ilk sıradaki veriyle başlayın. Bu alanı tanımlamak için Type Into etkinliğini kullanabilirsiniz.
    • Type Into’da hedef alanı tanımlamak için dinamik bir selector (seçici) oluşturun. Örneğin:
      <html app='chrome.exe' title='Form Sayfası' />
      <webctrl tag='INPUT' aaname='Sıra No : {{counter}}' />
      

3. Dinamik Selector Kullanımı

  • Her yeni form alanını bulabilmek için bir sayaç (counter) değişkeni oluşturun ve başlangıç değerini 1 olarak ayarlayın.
    • İlk seferde counter = 1 olacak ve ilk alana yazacak.
    • Daha sonra, her döngüde Click etkinliğiyle “Ekle” butonuna tıklayarak form alanını açabilir ve counter değişkenini 1 artırabilirsiniz.

4. Döngü ile Verileri İşle

  • For Each Row etkinliği kullanarak dtExcelData içerisindeki her bir satırı işleyin. Döngü içerisinde:
    1. Excel’den alınan veriyi ilgili form alanına yazın:
      • Type Into: Hedef, “Sıra No : {{counter}}” seçiciye sahip olmalı.
    2. “Ekle” butonuna tıklayın:
      • Click etkinliği ile “Ekle” butonunu hedefleyin.
    3. Sayfayı aşağı kaydırın:
      • Send Hotkey ile Page Down tuşunu kullanabilirsiniz.
    4. Sayaç değişkenini artırın:
      • Assign etkinliği: counter = counter + 1.

5. Döngü Tamamlandığında Otomasyonu Bitir

  • Döngü Excel’deki tüm satırları işledikten sonra otomasyonu bitirin.

Örnek Pseudo Kod:

1. Read Range → dtExcelData
2. Assign → counter = 1
3. For Each Row in dtExcelData:
   a. Type Into → Sıra No : {{counter}} → Row("Veri")
   b. Click → "Ekle" butonu
   c. Send Hotkey → Page Down
   d. Assign → counter = counter + 1
4. End For Each

Notlar:

  • Seçicilerinizi kontrol etmek için Ui Explorer kullanarak doğru hedefleri tanımlayın.
  • Dinamik bir selector oluştururken aaname ya da idx gibi değerleri kullanmaya özen gösterin.

Eğer bu süreçte bir hata alırsanız veya belirli bir adımda zorlanırsanız, detayları paylaşabilirsiniz; daha fazla yardımcı olurum! :blush:

@Umut_Veysel_DURKEN Merhaba,

For each row in datatable denediniz mi? Kullanılan excelin tedayını ve daha fazla açıklama yapabilirseniz yardımcı olabilirim.

Yarın size daha detaylı anlatırım kaynaklarıda atarım


Fotoğraflarda görüldüğü üzere;
ekle tuşuna her bastığında sıra no 1 sayı artarak yeni bir form ortaya çıkıyor buna doğru kaydırıp doldurması gerekiyor ama başaramadım
Excelde yer alan ad sutünu aslınd tc kimlik numarası soyad kısmıda net tutar bölümüne yazılıyor

@Umut_Veysel_DURKEN ,

Selamlar yaptım. Loglar ekledim mantığını anlamaya çalış ezber yapma lütfen.

Süreçlerde bazı standart ayarlar var 2 sn boyunca bekle sonra yazdiktan sonra 250 milisaniye bekle gibi. ör:

süreç akış:

Süreç dosyası:
Main.xaml (9.3 KB)

Kolaylıklar dilerim, :slight_smile:

Çok teşekkür ederim düzenleme yapıp sonucu sizinle paylaşacağım :slight_smile:

Rica ederim kolay gelsin. :slight_smile:

Süreç akışınında bulunduğu .xaml dosyasını atabilir misiniz sanırım güncel olmayanı atmışsınız yanlışlıkla :slight_smile: