Web otomasyonu: API olmayan portalları bağlama
Power Automate Desktop, API olmayan portalları tarayıcı üzerinden bağlar: eylemler, kaydedici ve web otomasyonunun sınırları.
Power Automate Desktop'taki Recorder, tıklamaları akış eylemleri olarak kaydeder. Neler yapabildiği, UIA ve MSAA'nın nasıl çalıştığı ve nerede sınırlarına dayandığı.
Power Automate Desktop'a giriş engelini Recorder kadar düşüren başka pek az özellik vardır. Eylemleri eylem listesinden tek tek sürükleyip parametreleri elle doldurmak yerine, otomatikleştirmek istediğin süreç boyunca sadece tıklarsın ve Recorder her fare ve klavye hareketini hazır bir akış eylemine dönüştürür. Tanıdık programlardaki tekrarlayan tıklama dizileri için bu, genellikle ilk çalışan taslağa ulaşmanın en hızlı yoludur.
Ancak hikâyenin dürüst ikinci yarısı da bir o kadar önemli: Recorder, her arayüzü güvenilir şekilde anlayan bir araç değildir ve sonradan yapılan düzenlemenin yerini tutmaz. Bu yazı, Recorder'ın teknik olarak nasıl çalıştığını, basit tıklamaların ötesinde neleri kapsadığını ve Microsoft'un kendi belgelerine göre, özellikle karmaşık veya alışılmadık şekilde oluşturulmuş kullanıcı arayüzlerinde nerede net sınırlara dayandığını gösteriyor.
Recorder'ı doğrudan Akış Tasarımcısı araç çubuğunda bulursun. Recorder'a tıklamak kayıt penceresini açar, Kaydet'e bir tıklama daha yakalamayı başlatır. Bu andan itibaren Recorder, fare ve klavye etkinliğini ilgili kullanıcı arayüzü öğelerine göre izler ve her eylemi ayrı bir adıma dönüştürür. Kayıt sırasında, tıklama gerçekten yakalanıp eklenene kadar bir metin işareti kısaca “Eylem bekleniyor” mesajını gösterir; bu, çok hızlı tıklamaya devam etmemen gerektiğine dair küçük ama pratik bir sinyaldir.
Bir öğeye sağ tıklamak ayrıca, o öğe için kullanılabilir eylemleri içeren bir bağlam menüsü açar; örneğin bir açılır liste değeri ayarlamak veya metin çıkarmak gibi. Kaydı Bitti ile tamamladığında, Power Automate kaydedilen adımları otomatik olarak masaüstü akış eylemlerine dönüştürür ve kullanılan tüm öğeleri, daha sonra yeniden kullanabilmen için Kullanıcı Arayüzü Öğeleri bölmesine kaydeder. Ayrıntıları Microsoft'un masaüstü akışlarını kaydetme belgelerinde bulabilirsin.
Her Windows uygulaması aynı kalitede erişilebilirlik bilgisi sunmaz, bu yüzden Recorder iki yakalama modu sunar. UI Automation (UIA), Microsoft tarafından önerilen modern çerçevedir ve özellikle WPF, WinForms veya UWP ile oluşturulmuş uygulamalarda güvenilir şekilde çalışır; daha ayrıntılı öğe bilgisi ve daha kararlı bir hiyerarşi sunar. Microsoft Active Accessibility (MSAA) daha eskidir ve uygulamaların UIA öğeleri sunmadığı durumlarda devreye girer, örneğin klasik Win32 veya VB6 programları gibi. Hangi uygulamayı otomatikleştirdiğine bağlı olarak, uygun modu Recorder'daki “Kayıt modu” menüsünden seçersin.
Recorder, basit fare tıklamalarıyla sınırlı değildir; tekrarlayan bir dizi kullanıcı arayüzü desenini de özel olarak kapsar:
Bazı uygulamalar erişilebilirlik API'lerini hiç açığa çıkarmaz veya başka teknik engeller içerir, bu yüzden normal Recorder hiçbir eylemi yakalayamaz. Tam olarak bu durum için Power Automate, görüntü tabanlı kaydı sunar: bu mod, kullanıcı arayüzü öğelerini seçiciler üzerinden algılamak yerine görüntü tanıma ve optik karakter tanıma (OCR) ile çalışır. Bir öğeye tıklamak otomatik olarak düzenlenebilir bir adı olan bir görüntü kesiti oluşturur ve “Görüntüden metin çıkar” üzerinden ayrıca bir metin alanı ile yakınında sabit bir referans alanı seçebilirsin; metin buradan Tesseract OCR motoru ile okunur.
Tam olarak burada, Microsoft'un kendisinin belgelediği bilinen sorunlara bakmakta fayda var, çünkü bunlar Recorder'ın bilinçli olarak ödünler verdiğini ve mucizevi bir çözüm olmadığını gösteriyor.
Recorder veya Öğe Seçici bir uygulamayı hiç yakalayamadığında işler daha da temele iner. Microsoft'un kullanıcı arayüzü otomasyonu sorun giderme belgesine göre bunun için iki tipik neden vardır. Birincisi, Microsoft Accessory Center veya DesktopBridge gibi rahatsız edici arka plan işlemleri, kullanıcı arayüzü otomasyonunu tamamen engelleyebilir; burada bu işlemleri sonlandırmak ve kalıcı olarak devre dışı bırakmak yardımcı olur. İkincisi ve bundan kaçınmak çok daha zordur: bazı masaüstü uygulamaları, Power Automate'in dayandığı standart erişilebilirlik API'leriyle uyumlu olmayan kendi kullanıcı arayüzü çerçevelerini veya işleme yöntemlerini kullanır. Bu durumda söz konusu öğeler Recorder için basitçe görünmez kalır.
Microsoft bu durum için dört geçici çözüm belirtir: fareyi görüntüye taşımak, fareyi OCR ile ekrandaki metne taşımak, Recorder'ı sabit kodlanmış koordinatlarla çalıştırmak veya fare ve tıklama eylemlerini doğrudan sabit koordinatlar üzerinden birleştirmek. Burada belgelerdeki açık uyarıya dikkat etmek önemlidir: koordinat tabanlı çözümlerin güvenilir şekilde çalışması için ekran çözünürlüğü, DPI ayarları ve ölçeklendirmenin çalışma zamanında geliştirme sırasındaki yapılandırmayla tam olarak eşleşmesi gerekir ve uygulamanın arayüzündeki küçük değişiklikler bile otomasyon adımını kullanılamaz hale getirebilir. Bu yüzden Microsoft, bu tür akışların üretime alınmadan önce her hedef makinede kapsamlı şekilde test edilmesini açıkça önerir.
Tek tek kullanıcı arayüzü öğeleri için ek olarak bir görüntü, yedek mekanizma olarak kaydedilebilir; bu mekanizma, normal seçici çalışma zamanında bir öğeyi artık bulamadığında otomatik olarak devreye girer. Bu güvenlik ağı mekanizmasının da net sınırları vardır: veri çıkarma ve web veri çıkarmada desteklenmez, aynı şekilde orada “Metin içerir” veya “Metin içermiyor” koşulu yapılandırılmışsa “Pencere içeriyorsa” veya “Web sayfası içeriğini bekle” gibi eylemlerde de desteklenmez. Ve v2.44'e kadar (bu sürüm dahil) bir Power Automate Desktop sürümünde görüntü yedeği olan bir akışı açıp kaydeden kişi, görüntü seçicisini kalıcı olarak kaybeder; Microsoft'a göre bu durumda geri yükleme artık mümkün değildir.
Microsoft, kendi belgelerinde bunu hoş bir şekilde açık sözlülükle ifade eder: Recorder, bir akışın temel iskeletini sağlamalıdır; kaydedilen süreçlerin çoğu, gerçekten kararlı çalışması için sonradan yeniden düzenlenmelidir. Koşullar ve döngüler gibi belirli eylem türleri temelde hiç kaydedilemez ve sonradan elle eklenmelidir. Testte bir kez çalışan bir akış ile aylar sonra hâlâ güvenilir şekilde çalışan bir akış tam olarak bu noktada birbirinden ayrılır.
Recorder'ı ilk taslaklar için kendin kullansan da, Power Automate temelli tam bir dijital çalışan inşa ettirsen de, sonunda hangi tıklamaların gerçekten otomatik kalacağı, hangi seçicilerin üretim ortamı için yeterince sağlam olduğu ve bir görüntü yedeğinin veya OCR çözümünün bir güvence yerine bir risk oluşturduğu yerler üzerindeki kontrol sende kalır.
Hayır. Recorder varsayılan olarak yalnızca öğelerini UIA veya MSAA üzerinden sunan uygulamalarla çalışır. Bir uygulama erişilebilirlik API'sini hiç açığa çıkarmıyorsa, geçici çözüm olarak görüntü tabanlı kayıt devreye girer, ancak bu bile özel olarak işlenen veya ağır şekilde özelleştirilmiş arayüzlerde bazen tamamen başarısız olur.
UIA, Microsoft tarafından önerilen, daha ayrıntılı öğe bilgisine sahip daha modern çerçevedir ve çoğu güncel Windows uygulaması için uygundur. MSAA daha eskidir ve öncelikle UIA öğeleri sunmayan eski yazılımlar için gereklidir, örneğin klasik VB6 veya Win32 programları gibi. Hangi modun uygun olduğu yalnızca hedef uygulamaya bağlıdır, kişisel tercihe değil.
Genellikle iki nedenden biridir: sonlandırılabilen Microsoft Accessory Center veya DesktopBridge gibi rahatsız edici arka plan işlemleri, ya da hedef uygulamanın standart erişilebilirlik API'leriyle uyumlu olmayan bir kullanıcı arayüzü çerçevesi. İkinci durumda genellikle geçici çözüm olarak yalnızca koordinat veya görüntü tabanlı bir çözüm kalır.
Pratikte hemen hemen her zaman, ve Microsoft'un kendisi de bunu söylüyor. Recorder çalışan bir temel iskelet sağlar, ancak koşullar, döngüler ve daha sağlam hata işleme kaydedilemez ve sonradan Akış Tasarımcısı'nda elle eklenmelidir.
Yalnızca çalıştığı ekran ortamı kadar güvenilirdir. Çözünürlük, DPI ayarları ve ölçeklendirme, çalışma zamanında geliştirme ortamıyla tam olarak eşleşmelidir, aksi halde tıklama hedefini kaçırır. Üretimde görüntü tabanlı adımlar kullanan kişi, bunları tek tek öğeler için bir görüntü yedeğiyle özel olarak birleştirmeli ve dağıtımdan önce her hedef makinede test etmelidir.
NordFlux, kuruluşlar için dijital çalışanlar kurar: tekrar eden işleri üstlenen otomasyonlar ve KI ajanları. Kontrol sizde kalır.
Power Automate Desktop, API olmayan portalları tarayıcı üzerinden bağlar: eylemler, kaydedici ve web otomasyonunun sınırları.
Cloud Flow mu Desktop Flow mu? API'si olmayan eski bir ERP söz konusu olduğunda Power Automate'te böyle karar verilir.
n8n her zaman doğru seçim değildir. Bu senaryolar, bulut sınırlarının, yönetişimin veya operasyonun buna karşı olduğu durumları dürüstçe gösterir.
Power Automate Desktop'taki recorder tıklamaları güvenilir şekilde kaydeder, ancak karmaşık veya görüntü tabanlı arayüzlerde düzenli olarak başarısız olur. Kaydedilen adımları başlangıç noktası olarak alıp bunlardan sağlam seçicilere sahip, üretime hazır bir flow inşa ediyoruz. Böylece kayıt, günlük kullanımda dayanan bir otomasyona dönüşür.