Uipath Studio’nun bizlere sunduğu aktivitelerin her biri farklı özelliklere, farklı kullanım alanlarına sahip ve oldukça kullanışlılar. Bunlardan biri olan “Find Element” aktivitesi sayfa yüklenirken veya bir sayfa elementin erişilebilir bir durumda olup olmadığını kontrol ederken işimizi kolaylaştırıyor. Bu aktiviteyi kullanırken zorunlu veya opsiyonel olarak kullanmamız gereken bazı parametrelerini doldurmamız gerekiyor. İlk olarak bulmak istediğimiz elementin ‘selector’ ünü veya diğer ‘target’ özelliklerinden birini verdikten sonra elimizde bir çıktı olması için ‘output’ parametresine de ‘UiElement’ tipinde bir değişken set ediyoruz. Aktivite bu şekilde çalıştığında ‘Timeout’ parametresine de bir değer girdiğimizde o süre içerisinde elementi bulduğu anda işini bitirmiş oluyor. Ancak o süre içerisinde elementi bulamazsa da akış içerisinde hata alırız. Bu yüzden aktiviteyi kullanırken ya ‘Try Catch’ yapısı içerisinde kullanmak ya da ‘ContinueorError’ özelliğine ‘True’ değeri vermek daha sağlıklı olur.
Buraya kadar verdiğimiz parametre değerleri doğrultusunda aktivite, bulmak istediğimiz elementi doğru bir şekilde kontrol edip verdiğimiz timeout süresi içinde eğer yüklendiyse bulacaktır. Ancak bazı durumlarda element arka planda yüklenip önyüzde görünmeyebiliyor. Bu durumda element sayfada üzerinde görünmese bile ‘selector’u bulunacağından ‘Find Element’ aktivitesi çalışmasını tamamlayacak ve akışa devam edilecek. Peki biz böyle bir senaryoda akışın devam etmesini istemiyorsak veya element önyüzde görünmeden akışa devam edilmesi bizim için hatalı bir durumsa ne gibi bir aksiyon alabiliriz? Bu noktada aktivitenin ‘Options’ kısmında bulunan iki kullanışlı özelliğinden bahsetmek istiyorum. Yukarıda da görüldüğü üzere ‘WaitActive’ ve ‘WaitVisible’ ismindeki bu özellikler, bu tarz senaryolar için ‘UiPath’ tarafından sunulmuş oldukça efektif. ‘Wait Active’ özelliği seçili olduğu zaman elementin ‘selector’ u erişilebilir durumda olsa bile aktif olana kadar beklenir. Yani bir anlamda, ‘Wait Attiribute’ aktivitesini kullanırken ‘Attiribute’ özelliğine ‘readystate’ değerini ve ‘AttiributeValue’ özelliğine ise ‘1 değerini’ verdiğimiz durumu aktivitenin bu özelliği sayesinde daha efektif bir şekilde kullanabiliyoruz. ‘Wait Visible’ özelliği seçili olduğu zaman ise elementin görünür olacağı ana kadar beklenir ve görünür olduğu anda aktivite çalışmasını bitirir. Bu da yine ‘visibility’ ‘attiribute’ unun ‘1’ değerine sahip olmasıyla aynı anlama geliyor.
Yukarıda da anlatmaya çalıştığım gibi ‘Find Element’ aktivitesi kullanışlı özellikleri sayesinde daha kısa ve daha efektif bir şekilde akışımıza devam etmemize olanak sağlıyor. Zaten bu aktiviteyi ‘Element Exists’ aktivitesinden farklı kılan özellikler de bu iki özellik. Bu sayede birden fazla aktiviteyle çözmek istediğimiz durumları tek bir aktiviteyle ve özellikleri sayesinde çözme imkânı bulabiliyoruz.