2016-03-24 13 views
0

Rahatsız ettiğim için özür dilerim ama yardımınıza ihtiyacım var gibi görünüyor. C#, Beyaz çerçeve içinde gerçekten yeni başlıyorum.C# beyaz, pencere elemanını bulamadınız

İşte sorun ... WinForm uygulamasını otomatikleştirmeye çalışıyorum, çok basit. otomasyonu için

Manuel adımlar:

  • Bu pencerede

  • Sorun altındaki yazısını bul bu pencereye

    1. Açık pencere

    2. dosyayı indirin: Ben herhangi bir düğmeye basabilir, diyalogları açabilir ve benzeri. Ancak birkaç adımdan sonra etiketi bulamıyorum (başlık).

      Bu kodu 2 PC'de denedim. Bir PC için çalışır, diğerleri için işe yaramıyor. Bu etiketin bulunduğunu yalnızca bir kez gördüm.

      Genellikle Studio'nun yalnızca telefonu kapatıp öğeleri aramaya çalıştığını görüyorum.

      Studio'nun çok hızlı çalıştığını ve öğelerin okuma için uygun olmadığını düşünüyorum. bunun için bana yardım edebilir misiniz? yerine mainWindow yeniden size sadece işlemi yeniden yatıştırıldı olsaydınız ne enter image description here

       //Add file name for opening 
           TextBox listLoadFile = mainWindow.Get<TextBox>(SearchCriteria.ByText("File name:")); 
           listLoadFile.Text = "Omneon_72.lst"; 
           application.WaitWhileBusy(); 
      
           // open file 
           Keyboard.Instance.PressSpecialKey(KeyboardInput.SpecialKeys.RETURN); 
           application.WaitWhileBusy(); 
      
           mainWindow.Focus(); 
           mainWindow.ReloadIfCached(); 
      
           //Can't find this element 
           Label caption3 = mainWindow.Get<Label>(SearchCriteria.ByAutomationId("lblStatus")); 
      
           //Can't see elements 
           IUIItem[] children1 = mainWindow.GetMultiple(SearchCriteria.All); 
      

    cevap

    0

    .

    process = Process.GetProcessesByName("myProcess")[0]; 
        application = Application.Attach(process.Id); 
        mainWindow = application.GetWindow("myWindowTitle"); 
    
        Label caption3 = mainWindow.Get<Label>(SearchCriteria.ByAutomationId("lblStatus")); 
        IUIItem[] children1 = mainWindow.GetMultiple(SearchCriteria.All); 
    
    İlgili konular